Język zapytań wyszukiwania to składnia, której używasz do wyszukiwania problemów w Google Issue Tracker. Możesz używać języka w zapytaniach wyszukiwania wpisywanych na pasku wyszukiwania. Możesz też użyć konstruktora zapytań, aby graficznie wybrać kryteria, które zostaną następnie przekonwertowane na język zapytań po zamknięciu konstruktora.
Język zapytania umożliwia wyszukiwanie według tych kryteriów:
- Słowa kluczowe
- Pary pole:wartość
Wyszukiwania mogą zawierać wiele kryteriów, w tym kombinacje słów kluczowych i par klucz-wartość. Składnia języka zapytań umożliwia określenie relacji i kolejności, w jakiej są rozpatrywane kryteria, za pomocą operatorów logicznych, nawiasów i cudzysłowów.
wyszukiwania z użyciem słów kluczowych;
Słowa kluczowe to ciągi tekstowe, których możesz używać do wyszukiwania w określonych polach w problemach. Te pola to:
- Tytuł
- Komentarze
- nazwy załączników,
- Pola zawierające użytkowników (np. Przypisany lub DW).
- Pola zawierające wewnętrzny numer identyfikacyjny (np. te, które określają komponent lub listy gorących zawierających 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 wyszukiwarce, Problem Tracker przeszuka globalnie problemy we wszystkich komponentach i zwróci te, których pola zawierają oba słowa kluczowe, zgodnie z uprawnieniami kontrolowania dostępu. Słowa kluczowe mogą się znajdować w różnych lub tych samych polach.
Słowa kluczowe będą też pasować do niektórych podstawowych synonimów, więc wyszukiwanie property
może dodatkowo znaleźć błąd zawierający słowo properties
. W przeciwnym razie wyszukiwania będą dopasowywać tylko pełne tokeny słów, zamiast traktować zapytanie jako podciąg.
Większość znaków specjalnych jest usuwana ze słów kluczowych przed przeprowadzeniem wyszukiwania.
Na przykład zapytanie my-query_text
zostanie podzielone na tokeny my
i query_text
i zwróci błędy pasujące do obu tokenów.
Issue Tracker traktuje znak spacji oddzielający kryteria wyszukiwania jako domyślny AND
operator. Aby wskazać, że ciąg wielowyrazowy ma być traktowany jako jedno słowo kluczowe, możesz użyć cudzysłowów ("
). W wyszukiwarce w Issue Trackerze wielkość liter nie ma znaczenia, niezależnie od tego, czy używasz cudzysłowów.
Pole:wyszukiwanie par klucz-wartość
Możesz też podać kryteria wyszukiwania jako parę 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ówna.
Na przykład wyszukiwanie title:latency
pasuje do problemów z występowaniem słowa latency
w polu Tytuł. Wyszukiwanie priority:p0
znajduje problemy o priorytecie p0
.
Nierozpoznane pole zostanie zinterpretowane jako wyszukiwanie haseł.
Pamiętaj, że w przypadku pól czasu i liczby możesz używać innych symboli relacji niż dwukropek. Zobacz Operatory relacji.
Wyszukiwanie wartości specjalnych za pomocą opcji „dowolna” i „brak”
Zapytania dotyczące pól opcjonalnych mogą zawierać wartości specjalne any
i none
. any
pasuje do dowolnej wartości innej niż null. none
pasuje do wartości null. Listę wszystkich obsługiwanych etykiet pól w języku zapytań wyszukiwania znajdziesz w dokumentacji zapytań wyszukiwania.
Operatory logiczne
Operatory logiczne umożliwiają określenie większej liczby kryteriów i wskazanie relacji między nimi. Spacje spoza cudzysłowów działają jako domyślne operatory AND
. Narzędzie Problem Tracker obsługuje te dodatkowe operatory logiczne:
Operator | Symbol alternatywny | Opis | Przykład |
---|---|---|---|
ORAZ | {whitespace} | Dopasowanie, jeśli problem zawiera oba kryteria | star:true AND componentid:46046
|
LUB | | | Pasuje, jeśli problem zawiera co najmniej jedno z kryteriów | type:(Bug|feature_request)
|
NIE JEST | - | Dopasowanie, jeśli problem nie zawiera kryteriów | -assignee:jim
|
„…” | Dopasowanie, jeśli problem zawiera cudzysłów (wyrazy w cudzysłowie występują 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))
|
Pamiętaj:
W atrybutach
AND
,OR
iNOT
musisz używać wyłącznie wielkich liter.Operator
NOT
ma takie samo znaczenie, niezależnie od tego, czy poprzedza nazwę pola, czy wartość pola. Oznacza to, że-assignee:jim
iassignee:-jim
są równoważne.Używaj nawiasów, aby wyraźnie grupować hasła w zapytaniu. Domyślnie Issue Tracker łączy
NOT
tylko z wyrażeniem bezpośrednio po nim i grupujeOR
z dwoma wyrażeniami, które go otaczają. Na przykład zapytanietitle:(a OR b NOT c AND d)
jest równoważne zapytaniutitle:((a OR b) AND (NOT c) AND d)
.
Kreski
Kreska (-
) ma różne znaczenia w zależności od kontekstu w zapytaniu:
Issue Tracker traktuje myślnik poprzedzający słowo w wyszukiwaniu jako operator
NOT
. Na przykład kryteria wyszukiwania-assignee:none
lubassignee:-none
zwracają wszystkie problemy, które mają przypisanego przydzielonego pracownika.Narzędzie Issue Tracker traktuje ciągi połączone znakiem myślnika jako otoczone cudzysłowami. Na przykład kryteria wyszukiwania
state-of-the-art
są równoważne z"state of the art"
.Narzędzie Problem Tracker traktuje łączniki w polu problemu jako osobne słowa rozdzielone spacjami. Oznacza to, że jeśli problem ma w tytule słowo
state-of-the-art
, a Ty wykonasz zapytanietitle:(of art state the)
lubtitle:("state of the art")
, problem zostanie zwrócony w ramach wyników wyszukiwania.
Operatory relacji
Podstawowa składnia kryteriów wyszukiwania pole:wartość to [field]:[value]
, gdzie znak dwukropka (:
) wskazuje, że aby problem został zwrócony w wynikach wyszukiwania, dane pole musi być równe określonej wartości lub zawierać ją.
Pola zawierające wartość czasową (created
, modified
, resolved
, verified
i niektóre pola niestandardowe) lub wartość liczbową (duplicatecount
, votecount
, commentcount
i cccount
) obsługują te dodatkowe operatory relacyjne:
Symbol | Opis |
---|---|
< | Dopasowuje problem, jeśli jego wartość jest mniejsza lub równa wartości wyszukiwania. |
<= | Pasuje do problemu, jeśli jego wartość jest mniejsza, większa lub równa wartości wyszukiwania. |
> | Pasuje do problemu, jeśli jego wartość jest większa niż wartość wyszukiwania lub następuje po niej. |
>= | Pasuje do problemu, jeśli jego wartość jest większa, równa lub mniejsza od wartości wyszukiwania. |
Wyszukiwania dotyczące czasu
Język zapytań wyszukiwania udostępnia specjalną składnię do dopasowywania pól zawierających wartość czasu. Dzięki temu Issue Tracker może wyszukiwać w określonym zakresie czasu lub w określonym czasie względnym.
Format czasu bezwzględnego
Format określający czas:
[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss]
.
W tym formacie [yyyy]
to 4-cyfrowy rok, [MM]
to 2-cyfrowy miesiąc,
[dd]
to 2-cyfrowy dzień, [HH]
to 2-cyfrowa godzina w zegarze 24-godzinnym, [mm]
to minuta, a [ss]
to sekunda. Wszystkie czasy w wyszukiwaniach są interpretowane jako UTC, nawet jeśli w ustawieniach daty i czasu wybrana jest inna strefa czasowa.
Podczas wyszukiwania problemów możesz określić, czy mają być one utworzone w określonym czasie, przed nim czy po nim. Możesz na przykład użyć wartości created:2014-06
, aby znaleźć problemy utworzone w dowolnym momencie w czerwcu 2014 r. Aby uzyskać bardziej szczegółowe wyniki, możesz wyszukać created:2014-06-03T04
, aby znaleźć problemy utworzone 3 czerwca 2014 r. w 4. godzinę (między 4:00 a 5:00 rano czasu UTC).
Zakresy czasu
Aby określić zakres czasu w kryteriach wyszukiwania pola:wartość, możesz użyć 2 znaków kropki (..
). Składnia to [field]:[start time]..[end time]
. Czas rozpoczęcia i zakończenia może być określony z dowolną dokładnością. Na przykład verified:2013..2015
zwraca wszystkie problemy zweryfikowane w 2013, 2014 lub 2015 r.
Format czasu względnego
Możesz też określić czas w dniach przed dzisiejszą datą. Aby to zrobić, użyj formatu [days]d
, gdzie [days]
to liczba dni wstecz, które chcesz uwzględnić w wynikach wyszukiwania. Możesz na przykład użyć modified:5d
, aby znaleźć problemy, które zostały zmodyfikowane w ciągu ostatnich 5 dni.
W przypadku formatu czasu względnego operatorem musi być dwukropek (:
), np. created:5d
. Jeśli chcesz znaleźć problemy, które nie mieszczą się w 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ć (-verified:10d) AND status:verified
.
Wyszukiwania z uwzględnieniem daty „dzisiaj”
W wyszukiwaniach dotyczących czasu możesz używać tokena today
zamiast bieżącej daty. Obsługuje ona arytmetykę dni, np. today+10
i today-2
. Element today
może być też używany z zakresami czasowymi, np. today-2..today+3
.
Użycie symbolu today
w zapisanych wyszukiwaniach ułatwia ponowne użycie zapytania.
Przykłady:
created:today
modified<=today-10
nearestslo:today+10
resolved:2024-02-29..today+2
customfield1002:today..today+5
Uwaga: jak wspomniano w sekcji Format czasu bezwzględnego, wyszukiwania w Issue Trackerze są przeprowadzane w czasie UTC. To samo dotyczy wyszukiwań, w których występuje znak today
.