Język zapytań to składnia, której używasz do wyszukiwania problemów w narzędziu Google Issue Tracker. Języka można używać w zapytaniach wpisywanych na pasku wyszukiwania. Możesz też użyć kreatora wyszukiwania, aby graficznie wybrać kryteria, które po zamknięciu narzędzia zostaną przekształcone w język zapytania.
Język zapytań umożliwia wyszukiwanie według tych kryteriów:
- Słowa kluczowe
- Pary pole/wartość
Wyszukiwania mogą obejmować wiele kryteriów, w tym kombinację słów kluczowych i par pole/wartość. Składnia języka zapytań pozwala określić relację i kolejność, w jakiej kryteria mają być uwzględniane, przy użyciu operatorów logicznych, nawiasów i cudzysłowów.
Wyszukiwania słów kluczowych
Słowa kluczowe to ciągi tekstowe, których możesz używać do wyszukiwania w określonych polach w kontekście problemów. Oto te pola:
- Tytuł
- Komentarze
- Nazwy załączników
- pola zawierające użytkowników (np. Osoba, której przypisano konto, DW);
- Pola zawierające wewnętrzny numer identyfikacyjny (np. te, które określają komponent lub hotlisty, które zawierają problem).
- Pola zawierające numery wersji
- Pola niestandardowe
Przykładem kryteriów wyszukiwania słów kluczowych jest ciąg znaków configuration properties
.
Gdy wpiszesz te kryteria w wyszukiwaniu, narzędzie Issue Tracker globalnie przeszuka problemy we wszystkich komponentach i zwróci te, których pola powyżej zawierają oba słowa kluczowe, zgodnie z uprawnieniami kontroli dostępu. Słowa kluczowe mogą znajdować się
w różnych polach lub w tych samych polach.
Narzędzie do śledzenia problemów traktuje kryteria wyszukiwania rozdzielone znakiem spacji jako niejawny operator AND
. Możesz użyć cudzysłowów ("
), aby określić, że ciąg wielowyrazowy będzie traktowany jako jedno słowo kluczowe. Podczas wyszukiwania w usłudze Issue Tracker wielkość liter nie ma znaczenia, niezależnie od tego, czy użyjesz cudzysłowów.
Wyszukiwanie pary pole/wartość
Kryteria wyszukiwania możesz też określić w postaci pary pole/wartość. Podstawowa składnia to [field]:[value]
. W przypadku pól tekstowych ta składnia pasuje do problemów, w których określone pole zawiera wartość. W przypadku innych typów pól dopasowuje problemy, w których wartość pola jest równoważna.
Na przykład wyszukiwanie title:latency
zwróci problemy ze słowem latency
w polu Tytuł. Wyszukanie słowa priority:p0
zawiera problemy o priorytecie p0
.
Pamiętaj, że w polach czasu i liczby możesz używać innych symboli relacyjnych poza dwukropkiem. Patrz sekcja Operatory relacji poniżej.
Wyszukiwania o specjalnej wartości z użyciem dowolnych i braków
Zapytania dotyczące pól opcjonalnych można wykonywać z wartościami specjalnymi any
i none
. any
pasuje do dowolnej wartości, która nie jest pusta. none
pasuje do wartości null. Listę wszystkich etykiet pól obsługiwanych w języku zapytań znajdziesz w dokumentacji wyszukiwanych haseł.
Operatory logiczne
Operatory logiczne umożliwiają określenie więcej niż 1 kryterium i wskazanie relacji między nimi. Jak już wspomnieliśmy, znaki spacji poza cudzysłowami działają jak niejawne operatory AND
. Narzędzie do śledzenia błędów obsługuje następujące dodatkowe operatory logiczne:
Operator | Symbol zastępczy | Opis | Przykład |
---|---|---|---|
I | {whitespace} | Pasuje, jeśli problem zawiera oba kryteria | star:true AND componentid:46046 |
LUB | | | Pasuje, jeśli problem zawiera którekolwiek z kryteriów | type:(Bug|feature_request) |
NIE JEST | - | Pasuje do sytuacji, gdy problem nie zawiera kryteriów | -assignee:jim |
"..." | Dopasowano, jeśli problem zawiera cytowane wyrażenie (słowa w cytacie są ułożone w tej samej kolejności) | comment:"We have a problem" |
|
( ) | Grupuje wartości lub kryteria wyszukiwania | status:open AND (priority:(p0|p1) OR severity:(s0|s1)) |
Uwaga:
W nazwach
AND
,OR
iNOT
musisz używać wielkich liter.Operator
NOT
ma to samo znaczenie niezależnie od tego, czy poprzedza nazwę pola, czy jego wartość. Oznacza to, że wartości-assignee:jim
iassignee:-jim
są równoważne.Możesz używać nawiasów, aby jasno zgrupować hasła w zapytaniu. Domyślnie narzędzie Issue Tracker wiąże hasło
NOT
z terminem zaraz po nim, a następnie grupujeOR
z dwoma hasłami w nawiasie kwadratowym. Na przykład zapytanietitle:(a OR b NOT c AND d)
jest równoważne z zapytaniemtitle:((a OR b) AND (NOT c) AND d)
.
Kreski
Myślnik (-
) ma różne znaczenie w zależności od kontekstu zapytania:
Narzędzie do śledzenia problemów traktuje łącznik poprzedzający słowo w wyszukiwaniu jako operator
NOT
. Na przykład kryteria wyszukiwania-assignee:none
lubassignee:-none
zwracają wszystkie problemy, które mają przypisaną osobę.Narzędzie do śledzenia problemów traktuje ciągi połączone znakiem myślnika jako ujęte w cudzysłów. Na przykład kryterium wyszukiwania
state-of-the-art
jest odpowiednikiem kryterium"state of the art"
.Narzędzie do śledzenia problemów traktuje słowa zaszyfrowane w polu problemu jako niezależne słowa rozdzielone spacjami. Oznacza to, że jeśli w tytule problemu występuje słowo
state-of-the-art
, a Ty wykonasz zapytanietitle:(of art state the)
lubtitle:("state of the art")
, problem jest zwracany w wynikach wyszukiwania.
Operatory relacji
Podstawowa składnia kryteriów wyszukiwania pól/wartości to [field]:[value]
, gdzie dwukropek (:
) wskazuje, że dane pole musi być równe lub zawierać określoną wartość, aby problem został zwrócony w wynikach wyszukiwania.
Pola, które zawierają wartość czasu (created
, modified
, resolved
, verified
i niektóre pola niestandardowe) lub liczbę (duplicatecount
, votecount
, commentcount
i cccount
) obsługują te dodatkowe operatory relacyjne:
Symbol | Opis |
---|---|
< | Dopasowuje problem, jeśli jego wartość jest mniejsza niż lub wcześniejsza od szukanej wartości. |
<= | Dopasowuje problem, jeśli jego wartość jest mniejsza niż/przed lub równa wartości wyszukiwania. |
> | Dopasowuje problem, jeśli jego wartość jest większa lub większa niż wartość wyszukiwania. |
>= | Dopasowuje problem, jeśli jego wartość jest większa niż/po lub równa wartości wyszukiwania. |
Wyszukiwania według czasu
Język zapytań wyszukiwania udostępnia specjalną składnię do dopasowywania pól zawierających wartość czasu. Dzięki temu narzędzie Issue Tracker może wyszukiwać w określonym przedziale czasu lub czasie względnym.
Format bezwzględnego czasu
Format, w którym należy określić godzinę:
[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss]
.
W tym formacie [yyyy]
oznacza rok w formacie 4-cyfrowym, [MM]
oznacza miesiąc w formacie 2-cyfrowym,
[dd]
to dzień 2-cyfrowy, [HH]
to godzina 24-godzinna,
[mm]
oznacza minutę, a [ss]
to drugi dzień. Wszystkie godziny podano dla strefy czasowej UTC.
Możesz określić poziom szczegółowości wyszukiwania problemów utworzonych w określonym momencie, przed nim lub po nim. Możesz na przykład wpisać created:2014-06
, aby wyszukiwać problemy, które zostały utworzone w dowolnym momencie w czerwcu 2014 r. Aby uzyskać bardziej szczegółowe informacje, możesz wyszukać problemy, które zostały utworzone 3 czerwca 2014 r. w czwartej godzinie (między 4:00 a 5:00 czasu UTC) w created:2014-06-03T04
.
Zakresy czasu
Aby określić zakres czasu w kryteriach wyszukiwania pola/wartości, możesz użyć 2 znaków kropki (..
). Składnia to [field]:[start time]..[end time]
. Czasy rozpoczęcia i zakończenia mogą być dopracowane. Na przykład verified:2013..2015
zwraca wszystkie problemy zweryfikowane w 2013, 2014 i 2015 r.
Format czasu względnego
Możesz też podać datę w dniach poprzedzających dzisiejszą datę. Aby to zrobić, użyj formatu [days]d
, gdzie [days]
to liczba wcześniejszych dni, które mają zostać uwzględnione w wynikach wyszukiwania. Dzięki modified:5d
możesz na przykład znaleźć problemy zmodyfikowane w ciągu ostatnich 5 dni.
Gdy używasz względnego formatu czasu, operatorem musi być dwukropek (:
), np. created:5d
. Jeśli chcesz znaleźć problemy, które nie mieszczą się w tym zakresie, możesz użyć operatora NOT
lub -
.
Na przykład -verified:10d
zwraca problemy, które nie zostały zweryfikowane w ciągu ostatnich 10 dni. Jeśli chcesz znaleźć problemy, które zostały zweryfikowane, ale nie w ciągu ostatnich 10 dni, możesz użyć narzędzia (-verified:10d) AND status:verified
.
Wyszukiwania z użyciem arytmetyki dnia
Tokenu today
możesz używać do wyszukiwania w czasie, aby zastąpić bieżącą datę. Umożliwia korzystanie z arytmetyki dnia, np. today+10
i today-2
.
Tokenu today
można też używać z zakresami czasu takimi jak today-2..today+3
.
Używanie tokena today
w zapisanych wyszukiwaniach ułatwia ponowne wykorzystanie zapytania.
Przykłady:
created:today
modified<=today-10
nearestslo:today+10
resolved:2024-02-29..today+2
customfield1002:today..today+5
Zastrzeżenie: jak wspomnieliśmy w formacie bezwzględnym, wyszukiwania według czasu w narzędziu do śledzenia problemów są podane w czasie UTC. To samo dotyczy wyszukiwania z wykorzystaniem today
.