Il linguaggio delle query di ricerca è la sintassi utilizzata per eseguire ricerche di problemi in Google Issue Tracker. Puoi utilizzare la lingua nelle query di ricerca inserite nella barra di ricerca. Puoi anche utilizzare il Generatore di ricerche per selezionare graficamente i criteri, che vengono poi convertiti nel linguaggio di query quando il Generatore di ricerche viene chiuso.
Il linguaggio di query ti consente di eseguire ricerche in base ai seguenti criteri:
- Parole chiave
- Coppie campo:valore
Le ricerche che esegui possono contenere più criteri, inclusa una combinazione di parole chiave e coppie campo:valore. La sintassi del linguaggio di query consente di specificare la relazione e l'ordine in cui vengono considerati i criteri utilizzando operatori logici, parentesi e virgolette.
Ricerche per parole chiave
Le parole chiave sono stringhe di testo che puoi utilizzare per cercare in determinati campi dei problemi. Questi campi sono:
- Titolo
- Commenti
- Nomi degli allegati
- Campi che contengono utenti (ad esempio Assegnatario o Cc)
- Campi che contengono un numero ID interno (ad esempio quelli che specificano il componente o le liste di hotlist che contengono un problema)
- Campi contenenti numeri di versione
- Campi personalizzati
Un esempio di criteri di ricerca per parole chiave è la stringa configuration properties
.
Quando inserisci questi criteri in una ricerca, Issue Tracker cerca i problemi a livello globale in tutti i componenti e restituisce quelli i cui campi contengono entrambe le parole chiave, come stabilito dalle autorizzazioni di controllo dell'accesso. Le parole chiave possono trovarsi in campi diversi o negli stessi campi.
Le parole chiave corrispondono anche ad alcuni sinonimi di base, pertanto una ricerca di property
potrebbe trovare anche un bug contenente la parola properties
. In caso contrario, le ricerche corrisponderanno solo ai token di parole intere, anziché trattare la query come una sottostringa.
La maggior parte dei caratteri speciali viene rimossa dalle parole chiave prima di eseguire la ricerca.
Ad esempio, una query come my-query_text
verrebbe suddivisa nei token
my
e query_text
e restituirà i bug corrispondenti a entrambi i token.
Issue Tracker tratta il carattere spazio che separa i criteri di ricerca come un
AND
operatore implicito. Puoi utilizzare le virgolette ("
) per indicare che una stringa di più parole deve essere considerata come una singola parola chiave. Tutte le ricerche in Issue Tracker non distinguono tra maiuscole e minuscole, indipendentemente dall'utilizzo o meno delle virgolette.
Ricerche di coppie campo:valore
Puoi anche specificare i criteri di ricerca come coppia campo:valore. La sintassi di base è
[field]:[value]
. Per i campi di testo, questa sintassi corrisponde ai problemi in cui il
campo specificato contiene il valore. Per altri tipi di campi, trova i problemi in cui il valore del campo è equivalente.
Ad esempio, una ricerca di title:latency
corrisponde ai problemi con la parola latency
nel campo Titolo. Una ricerca di priority:p0
trova i problemi con una priorità di p0
.
Qualsiasi campo non riconosciuto verrà interpretato come ricerca di parole chiave.
Tieni presente che per i campi di tempo e conteggio puoi utilizzare altri simboli di relazione oltre al carattere due punti. Consulta la sezione Operatori relazionali.
Ricerche di valori speciali utilizzando qualsiasi e nessuno
È possibile eseguire query sui campi facoltativi con i valori speciali any
e none
. any
corrisponde a qualsiasi valore non null. none
corrisponde ai valori null. Per un elenco di tutte le etichette dei campi supportate nel linguaggio delle query di ricerca, consulta il riferimento alle query di ricerca.
Operatori logici
Gli operatori logici ti consentono di specificare più di un criterio e di indicare la relazione tra di loro. I caratteri di spaziatura al di fuori delle virgolette agiscono come operatori AND
impliciti. Issue Tracker supporta i seguenti operatori logici espliciti aggiuntivi:
Operatore | Simbolo alternato | Descrizione | Esempio |
---|---|---|---|
E | {whitespace} | Corrisponde se il problema contiene entrambi i criteri | star:true AND componentid:46046
|
OPPURE | | | Corrispondenze se il problema contiene uno dei criteri | type:(Bug|feature_request)
|
NOT | - | Corrisponde se il problema non contiene i criteri | -assignee:jim
|
"…" | Corrispondenze se il problema contiene una frase tra virgolette (le parole tra virgolette compaiono nello stesso ordine) | comment:"We have a problem"
|
|
( ) | Raggruppa i valori o i criteri di ricerca insieme | status:open AND
(priority:(p0|p1) OR
severity:(s0|s1))
|
Tieni presente quanto segue:
Devi utilizzare solo lettere maiuscole per
AND
,OR
eNOT
.L'operatore
NOT
ha lo stesso significato se precede il nome del campo o il valore del campo. Ciò significa che-assignee:jim
eassignee:-jim
sono equivalenti.Utilizza le parentesi per raggruppare in modo chiaro i termini nella query di ricerca. Per impostazione predefinita, Issue Tracker associa
NOT
solo al termine immediatamente successivo e raggruppaNOT
con i due termini che lo contengono tra parentesi.OR
Ad esempio, la query di ricercatitle:(a OR b NOT c AND d)
è equivalente atitle:((a OR b) AND (NOT c) AND d)
.
Trattini
Il carattere trattino (-
) ha significati diversi in base al contesto in una query di ricerca:
Issue Tracker tratta il trattino che precede una parola in una ricerca come un operatore
NOT
. Ad esempio, i criteri di ricerca-assignee:none
oassignee:-none
restituiscono tutti i problemi che hanno un assegnatario.Issue Tracker considera le stringhe collegate da un carattere trattino come racchiuse tra virgolette. Ad esempio, i criteri di ricerca
state-of-the-art
sono equivalenti a"state of the art"
.Issue Tracker tratta le parole separate da trattini in un campo dell'issue come parole indipendenti separate da spazi. Ciò significa che se un problema contiene la parola
state-of-the-art
nel titolo e esegui la query di ricercatitle:(of art state the)
otitle:("state of the art")
, il problema viene restituito come parte dei risultati di ricerca.
Operatori relazionali
La sintassi di base per i criteri di ricerca campo:valore è [field]:[value]
, dove il carattere due punti (:
) specifica che il campo specificato deve essere uguale a o contenere il valore specificato affinché un problema venga restituito nei risultati di ricerca.
I campi che contengono un valore di tempo (created
, modified
, resolved
, verified
e alcuni campi personalizzati) o un valore di conteggio (duplicatecount
, votecount
,
commentcount
e cccount
) supportano i seguenti operatori
relazionali aggiuntivi:
Simbolo | Descrizione |
---|---|
< | Corrisponde a un problema se il relativo valore è minore o precedente al valore di ricerca. |
<= | Corrisponde a un problema se il relativo valore è minore, precedente o uguale al valore di ricerca. |
> | Corrisponde a un problema se il relativo valore è maggiore o successivo al valore della ricerca. |
>= | Corrisponde a un problema se il valore è maggiore, successivo o uguale al valore di ricerca. |
Ricerche relative al tempo
Il linguaggio delle query di ricerca fornisce una sintassi speciale per la corrispondenza dei campi che contengono un valore di tempo. In questo modo, Issue Tracker può eseguire ricerche in un intervallo di date o in date relative, a seconda dei casi.
Formato dell'ora assoluta
Il formato per specificare un'ora è:
[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss]
.
In questo formato, [yyyy]
è l'anno di 4 cifre, [MM]
è il mese di 2 cifre,
[dd]
è il giorno di 2 cifre, [HH]
è l'ora di 2 cifre di un orologio 24 ore, [mm]
è il minuto e [ss]
è il secondo. Tutte le ore nelle ricerche vengono interpretate come UTC, anche se nelle impostazioni di data e ora è selezionato un fuso orario diverso.
Puoi specificare il livello di specificità quando cerchi i problemi creati a un determinato orario, prima o dopo. Ad esempio, puoi specificare created:2014-06
per trovare i problemi creati in qualsiasi momento nel mese di giugno 2014. Per maggiori dettagli,
puoi eseguire una ricerca su created:2014-06-03T04
per trovare i problemi creati il 3
giugno 2014 nella quarta ora (tra le 04:00 e le 05:00 UTC).
Intervalli di tempo
Puoi utilizzare due caratteri di punto (..
) per specificare un intervallo di tempo nei criteri di ricerca campo:valore. La sintassi è [field]:[start time]..[end time]
. Gli orari di inizio e di fine possono avere qualsiasi grado di specificità richiesto. Ad esempio,
verified:2013..2015
restituisce tutti i problemi verificati nel 2013, 2014 o 2015.
Formato della data/ora relativa
Puoi anche specificare un orario in termini di giorni precedenti a oggi. A tale scopo, utilizza il formato [days]d
, dove [days]
è il numero di giorni passati che vuoi includere nei risultati di ricerca. Ad esempio, puoi utilizzare modified:5d
per trovare i problemi modificati negli ultimi cinque giorni.
Quando utilizzi un formato di tempo relativo, l'operatore deve essere il carattere dei due punti
(:
), ad esempio created:5d
. Se vuoi trovare i problemi che non rientrano nell'intervallo, puoi utilizzare l'operatore NOT
o -
.
Ad esempio, -verified:10d
restituisce i problemi che non sono stati verificati negli ultimi 10 giorni. Se vuoi trovare i problemi che sono stati verificati, ma non negli ultimi 10 giorni, puoi utilizzare (-verified:10d) AND status:verified
.
Ricerche "Oggi" con aritmetica dei giorni
Puoi utilizzare il token today
nelle ricerche per data come sostituto della data corrente. Supporta l'uso di operazioni aritmetiche sui giorni come today+10
e today-2
. Il token today
può essere utilizzato anche con intervalli di tempo come today-2..today+3
.
L'utilizzo del token today
nelle ricerche salvate contribuisce a rendere la query riutilizzabile.
Esempi:
created:today
modified<=today-10
nearestslo:today+10
resolved:2024-02-29..today+2
customfield1002:today..today+5
Attenzione: come indicato nel formato di data e ora assoluto, le ricerche di tempo in Issue Tracker sono in UTC. Lo stesso vale per le ricerche che utilizzano
today
.