Linguaggio di query di ricerca

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 e NOT.

  • L'operatore NOT ha lo stesso significato se precede il nome del campo o il valore del campo. Ciò significa che -assignee:jim e assignee:-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 raggruppa NOT con i due termini che lo contengono tra parentesi.OR Ad esempio, la query di ricerca title:(a OR b NOT c AND d) è equivalente a title:((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 o assignee:-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 ricerca title:(of art state the) o title:("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.