Język wyszukiwanych haseł

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 i NOT 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 i assignee:-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 grupuje OR z dwoma hasłami w nawiasie kwadratowym. Na przykład zapytanie title:(a OR b NOT c AND d) jest równoważne z zapytaniem title:((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 lub assignee:-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 zapytanie title:(of art state the) lub title:("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.