Język wyszukiwanych haseł

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 myquery_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 i NOT 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:jimassignee:-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 grupuje OR z dwoma wyrażeniami, które go otaczają. Na przykład zapytanie title:(a OR b NOT c AND d) jest równoważne zapytaniu title:((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 lub assignee:-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 zapytanie title:(of art state the) lub title:("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+10today-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.