Suchanfragesprache

Die Suchanfragesprache ist die Syntax, mit der Sie Suchanfragen nach Problemen in Google Issue Tracker durchführen. Sie können die Sprache in Suchanfragen verwenden, die Sie in die Suchleiste eingeben. Sie können die Kriterien auch grafisch mit dem Erweiterten Suchfilter auswählen. Diese werden dann in die Abfragesprache konvertiert, wenn der Erweiterte Suchfilter geschlossen wird.

Mit der Abfragesprache können Sie nach den folgenden Kriterien suchen:

  • Keywords
  • Feld:Wert-Paare

Suchanfragen können mehrere Kriterien enthalten, einschließlich einer Kombination aus Keywords und Feld/Wert-Paaren. Mit der Syntax der Abfragesprache können Sie die Beziehung und Reihenfolge angeben, in der die Kriterien berücksichtigt werden sollen. Dazu verwenden Sie logische Operatoren, Klammern und Anführungszeichen.

Suchanfragen mit Keywords

Keywords sind Textstrings, mit denen Sie in bestimmten Feldern von Problemen suchen können. Das sind:

  • Titel
  • Kommentare
  • Namen der Anhänge
  • Felder, die Nutzer enthalten (z. B. Zugewiesener oder Cc)
  • Felder, die eine interne ID-Nummer enthalten (z. B. Felder, die die Komponente oder Hotlists angeben, die ein Problem enthalten)
  • Felder mit Versionsnummern
  • Benutzerdefinierte Felder

Ein Beispiel für Suchbegriffe ist der String configuration properties. Wenn Sie diese Kriterien in eine Suche eingeben, wird in Issue Tracker global in allen Komponenten nach Problemen gesucht und es werden nur die zurückgegeben, deren Felder beide Keywords enthalten. Dabei gelten die Zugriffsberechtigungen. Die Keywords können sich in verschiedenen oder in denselben Feldern befinden.

Keywords werden auch mit einigen grundlegenden Synonyme abgeglichen. Bei einer Suche nach property wird also möglicherweise auch ein Fehler gefunden, der das Wort properties enthält. Andernfalls werden bei Suchanfragen nur vollständige Wort-Tokens gefunden, anstatt die Suchanfrage als Teilstring zu behandeln.

Die meisten Sonderzeichen werden aus Keywords entfernt, bevor die Suche ausgeführt wird. Eine Suchanfrage wie my-query_text wird beispielsweise in die Tokens my und query_text aufgeteilt und es werden Fehler zurückgegeben, die mit beiden Tokens übereinstimmen.

Im Issue Tracker wird das Leerzeichen, das Suchkriterien trennt, als impliziter AND-Operator behandelt. Sie können Anführungszeichen (") verwenden, um anzugeben, dass ein String aus mehreren Wörtern als ein einzelnes Keyword betrachtet werden soll. Bei allen Suchanfragen im Issue Tracker wird die Groß- und Kleinschreibung nicht berücksichtigt, unabhängig davon, ob Sie Anführungszeichen verwenden.

Suchanfragen nach Feld:Wert-Paaren

Sie können Suchkriterien auch als Feld/Wert-Paar angeben. Die Basissyntax ist [field]:[value]. Bei Textfeldern werden mit dieser Syntax Probleme ermittelt, bei denen das angegebene Feld den Wert enthält. Bei anderen Feldtypen werden Probleme gefunden, bei denen der Feldwert gleichwertig ist.

Bei einer Suche nach title:latency werden beispielsweise Probleme mit dem Wort latency im Feld Titel gefunden. Bei einer Suche nach priority:p0 werden Probleme mit der Priorität p0 gefunden.

Alle nicht erkannten Felder werden als Keyword-Suche interpretiert.

Für Zeit- und Zählfelder können Sie neben dem Doppelpunkt auch andere relationale Symbole verwenden. Siehe Relationale Operatoren.

Suchanfragen mit „beliebig“ und „kein“

Optionale Felder können mit den Sonderwerten any und none abgefragt werden. any stimmt mit jedem Wert überein, der nicht null ist. none stimmt mit Nullwerten überein. Eine Liste aller unterstützten Feldlabels in der Suchanfragesprache finden Sie in der Referenz für Suchanfragen.

Logische Operatoren

Mit logischen Operatoren können Sie mehrere Kriterien angeben und die Beziehung zwischen ihnen angeben. Leerzeichen außerhalb von Anführungszeichen wirken als implizite AND-Operatoren. Der Issue Tracker unterstützt die folgenden zusätzlichen expliziten Logikoperatoren:

Operator Alternativsymbol Beschreibung Beispiel
UND {whitespace} Stimmt überein, wenn das Problem beide Kriterien enthält star:true AND componentid:46046
ODER | Stimmt überein, wenn das Problem eines der Kriterien enthält type:(Bug|feature_request)
NOT - Stimmt überein, wenn das Problem die Kriterien nicht enthält -assignee:jim
„...“ Übereinstimmung, wenn das Problem eine zitierte Wortgruppe enthält (die Wörter im Zitat müssen in derselben Reihenfolge erscheinen) comment:"We have a problem"
( ) Gruppiert Werte oder Suchkriterien status:open AND (priority:(p0|p1) OR severity:(s0|s1))

Wichtige Hinweise:

  • Für AND, OR und NOT müssen ausschließlich Großbuchstaben verwendet werden.

  • Der Operator NOT hat dieselbe Bedeutung, unabhängig davon, ob er vor dem Feldnamen oder dem Feldwert steht. Das bedeutet, dass -assignee:jim und assignee:-jim äquivalent sind.

  • Verwenden Sie Klammern, um Begriffe in der Suchanfrage klar zu gruppieren. Standardmäßig ordnet der Issue Tracker NOT nur dem Begriff zu, der direkt danach folgt, und gruppiert OR mit den beiden Begriffen, die ihn einschließen. Die Suchanfrage title:(a OR b NOT c AND d) entspricht beispielsweise title:((a OR b) AND (NOT c) AND d).

Striche

Der Bindestrich (-) hat je nach Kontext in einer Suchanfrage unterschiedliche Bedeutungen:

  • In Issue Tracker wird der Bindestrich vor einem Wort in einer Suche als NOT-Operator behandelt. Mit den Suchkriterien -assignee:none oder assignee:-none werden beispielsweise alle Probleme zurückgegeben, die einem Nutzer zugewiesen sind.

  • Im Issue Tracker werden Strings, die durch ein Bindestrichzeichen verbunden sind, als in Anführungszeichen gesetzt behandelt. Das Suchkriterium state-of-the-art entspricht beispielsweise "state of the art".

  • Im Issue Tracker werden zusammengesetzte Wörter in einem Problemfeld als eigenständige Wörter behandelt, die durch Leerzeichen getrennt sind. Das bedeutet, dass ein Problem, das den Begriff state-of-the-art im Titel enthält, in den Suchergebnissen zurückgegeben wird, wenn Sie die Suchanfrage title:(of art state the) oder title:("state of the art") ausführen.

Relationale Operatoren

Die Basissyntax für Suchkriterien vom Typ „Feld:Wert“ ist [field]:[value]. Das Doppelpunktzeichen (:) gibt an, dass das angegebene Feld dem angegebenen Wert entsprechen oder ihn enthalten muss, damit ein Problem in den Suchergebnissen zurückgegeben wird.

Felder, die einen Zeitwert (created, modified, resolved, verified und bestimmte benutzerdefinierte Felder) oder einen Zählwert (duplicatecount, votecount, commentcount und cccount) enthalten, unterstützen die folgenden zusätzlichen relationalen Operatoren:

Symbol Beschreibung
< Es wird mit einem Problem übereinstimmt, wenn sein Wert kleiner als oder vor dem Suchwert liegt.
<= Es wird mit einem Problem übereinstimmt, wenn der Wert kleiner als, vor oder gleich dem Suchwert ist.
> Es wird mit einem Problem übereinstimmt, wenn der Wert größer als der Suchwert ist oder nach ihm kommt.
>= Es wird eine Übereinstimmung mit einem Problem gefunden, wenn der Wert größer als, nach oder gleich dem Suchwert ist.

Suchanfragen nach Zeit

Die Suchabfragesprache bietet eine spezielle Syntax für das Abgleichen von Feldern, die einen Zeitwert enthalten. So können Sie im Issue Tracker nach einem bestimmten Zeitraum oder nach einem relativen Zeitraum suchen.

Absolutes Zeitformat

Das Format für die Angabe einer Uhrzeit lautet:

[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss].

In diesem Format ist [yyyy] das vierstellige Jahr, [MM] der zweistellige Monat, [dd] der zweistellige Tag, [HH] die zweistellige Stunde einer 24-Stunden-Uhr, [mm] die Minute und [ss] die Sekunde. Alle Zeiten in Suchanfragen werden als UTC interpretiert, auch wenn Sie in Ihren Datums- und Zeiteinstellungen eine andere Zeitzone ausgewählt haben.

Sie können die Genauigkeit festlegen, wenn Sie nach Problemen suchen, die zu, vor oder nach einem bestimmten Zeitpunkt erstellt wurden. Sie können beispielsweise created:2014-06 angeben, um Probleme zu finden, die im Juni 2014 erstellt wurden. Wenn Sie genauer suchen möchten, können Sie in created:2014-06-03T04 nach Problemen suchen, die am 3. Juni 2014 in der 4. Stunde (zwischen 4 und 5 Uhr UTC) erstellt wurden.

Zeiträume

Sie können zwei Punkte (..) verwenden, um in Suchkriterien vom Typ „Feld:Wert“ einen Zeitraum anzugeben. Die Syntax lautet [field]:[start time]..[end time]. Die Start- und Endzeiten können beliebig genau angegeben werden. Mit verified:2013..2015 werden beispielsweise alle Probleme zurückgegeben, die 2013, 2014 oder 2015 bestätigt wurden.

Format für relative Zeitangaben

Sie können auch eine Uhrzeit in Tagen vor heute angeben. Verwenden Sie dazu das Format [days]d, wobei [days] die Anzahl der Tage in der Vergangenheit ist, die in die Suchergebnisse einbezogen werden sollen. Mit modified:5d können Sie beispielsweise nach Problemen suchen, die in den letzten fünf Tagen geändert wurden.

Bei Verwendung eines relativen Zeitformats muss der Operator das Doppelpunktzeichen (:) sein, z. B. created:5d. Wenn Sie Probleme finden möchten, die nicht in diesen Bereich fallen, können Sie den Operator NOT oder - verwenden.

-verified:10d gibt beispielsweise Probleme mit Retouren an, die in den letzten 10 Tagen nicht bestätigt wurden. Wenn Sie Probleme finden möchten, die bestätigt wurden, aber nicht in den letzten 10 Tagen, können Sie (-verified:10d) AND status:verified verwenden.

Suchanfragen für „Heute“ mit Tagesarithmetik

Sie können das today-Token in Zeitsuchen als Ersatz für das aktuelle Datum verwenden. Es unterstützt die Verwendung von Tagesarithmetik wie today+10 und today-2. Das today-Token kann auch mit Zeiträumen wie today-2..today+3 verwendet werden. Wenn Sie das today-Token in gespeicherten Suchanfragen verwenden, lässt sich die Abfrage wiederverwenden.

Beispiele:

  • created:today
  • modified<=today-10
  • nearestslo:today+10
  • resolved:2024-02-29..today+2
  • customfield1002:today..today+5

Hinweis: Wie im Abschnitt zum absoluten Zeitformat erwähnt, werden Zeitabfragen im Issue Tracker in UTC ausgeführt. Dasselbe gilt für Suchanfragen, bei denen today verwendet wird.