Linguaggio di query di ricerca

Il linguaggio delle query di ricerca è la sintassi che utilizzi per eseguire ricerche di problemi in Google Issue Tracker. Puoi usare la lingua nelle query di ricerca che inserisci nella barra. Puoi anche utilizzare Search Builder per selezionare graficamente i criteri, che vengono poi convertiti nel linguaggio di query quando lo strumento è chiuso.

Il linguaggio di query consente di effettuare ricerche in base ai seguenti criteri:

  • Parole chiave
  • Coppie campo/valore

Le ricerche eseguite possono contenere più criteri, tra cui 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 i criteri vengono considerati utilizzando operatori logici, parentesi e virgolette.

Ricerche di parole chiave

Le parole chiave sono stringhe di testo che puoi utilizzare per cercare in determinati campi nei 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 hotlist che contengono un problema)
  • Campi che contengono i numeri di versione
  • Campi personalizzati

Un esempio di criteri di ricerca delle parole chiave è la stringa configuration properties. Quando inserisci questi criteri in una ricerca, Issue Tracker cerca a livello globale i problemi in tutti i componenti e restituisce quelli i cui campi precedenti contengono entrambe le parole chiave, come regolato dalle autorizzazioni di controllo dell'accesso. Le parole chiave possono trovarsi in campi diversi o negli stessi campi.

Issue Tracker tratta lo spazio che separa i criteri di ricerca come un operatore AND implicito. Puoi utilizzare le virgolette (") per specificare che una stringa composta da più parole deve essere considerata come una singola parola chiave. Tutte le ricerche in Issue Tracker non fanno distinzione tra maiuscole e minuscole, indipendentemente dalle virgolette.

Ricerche in coppia 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, corrisponde a problemi in cui il valore del campo è equivalente.

Ad esempio, la ricerca di title:latency restituisce problemi con la parola latency nel campo Titolo. Una ricerca di priority:p0 rileva problemi con una priorità di p0.

Tieni presente che per i campi relativi a tempo e conteggio, puoi utilizzare altri simboli relazionali oltre ai due punti. Consulta la sezione Operatori relazionali di seguito.

Ricerche di valori speciali con qualsiasi o nessuna ricerca

È possibile eseguire query sui campi facoltativi con i valori speciali any e none. any corrisponde a qualsiasi valore non null. none corrisponde a valori nulli. Per un elenco di tutte le etichette dei campi supportate nel linguaggio delle query di ricerca, consulta la pagina Riferimento per le query di ricerca.

Operatori logici

Gli operatori logici consentono di specificare più di un criterio e di indicare la relazione tra loro. Come indicato sopra, gli spazi fuori le virgolette agiscono come operatori AND impliciti. Issue Tracker supporta i seguenti operatori logici espliciti:

Operatore Simbolo alternativo Descrizione Esempio
AND {spazio vuoto} Corrisponde se il problema contiene entrambi i criteri star:true AND componentid:46046
OR | Corrisponde se il problema contiene uno dei due criteri type:(Bug|feature_request)
NOT - Corrisponde se il problema non contiene i criteri -assignee:jim
"..." Corrisponde se il problema contiene una frase tra virgolette (le parole all'interno delle virgolette vengono visualizzate nello stesso ordine) comment:"We have a problem"
( ) Raggruppa valori o criteri di ricerca status:open AND (priority:(p0|p1) OR severity:(s0|s1))

Tieni presente quanto riportato di seguito:

  • Devi utilizzare solo lettere maiuscole per AND, OR e NOT.

  • L'operatore NOT ha lo stesso significato a prescindere dal nome o dal valore del campo. Ciò significa che -assignee:jim e assignee:-jim sono equivalenti.

  • Utilizza le parentesi senza limitazioni per raggruppare in modo chiaro i termini nella query di ricerca. Per impostazione predefinita, Issue Tracker associa NOT al termine che lo segue solo e raggruppa OR ai due termini che lo racchiudono tra parentesi. Ad esempio, la query di ricerca title:(a OR b NOT c AND d) equivale a title:((a OR b) AND (NOT c) AND d).

Trattini

Il 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, il criterio di ricerca -assignee:none o assignee:-none restituisce tutti i problemi con un assegnatario.

  • Issue Tracker tratta le stringhe collegate da un trattino come se fossero racchiuse tra virgolette. Ad esempio, il criterio di ricerca state-of-the-art è equivalente a "state of the art".

  • Issue Tracker tratta le parole con trattino in un campo relativo al problema come parole indipendenti separate da uno spazio. Ciò significa che se un problema contiene la parola state-of-the-art nel titolo ed esegui la query di ricerca title:(of art state the) o title:("state of the art"), il problema viene restituito nei risultati di ricerca.

Operatori relazionali

La sintassi di base per un criterio di ricerca campo/valore è [field]:[value], dove il carattere dei due punti (:) specifica che il campo specificato deve essere uguale o contenere il valore specificato affinché un problema venga restituito nei risultati di ricerca.

I campi che contengono un valore temporale (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 suo valore è inferiore o precedente al valore di ricerca.
<= Corrisponde a un problema se il suo valore è inferiore o uguale al valore di ricerca.
> Corrisponde a un problema se il suo valore è maggiore o successivo al valore di ricerca.
>= Corrisponde a un problema se il suo valore è maggiore di/dopo o uguale al valore di ricerca.

Ricerche temporali

Il linguaggio delle query di ricerca fornisce una sintassi speciale per i campi corrispondenti che contengono un valore temporale. Ciò consente a Issue Tracker di cercare in un intervallo di tempo o in momenti relativi, a seconda delle esigenze.

Formato ora assoluto

Il formato per specificare un'ora è il seguente:

[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss].

In questo formato, [yyyy] indica l'anno a 4 cifre, [MM] il mese a 2 cifre, [dd] il giorno a 2 cifre, [HH] è l'ora a due cifre di un orologio di 24 ore, [mm] è il minuto e [ss] è il secondo. Tutti gli orari sono in UTC.

Puoi fornire il livello di specificità che preferisci per la ricerca di problemi creati prima o dopo un determinato periodo di tempo. Ad esempio, puoi specificare created:2014-06 per individuare i problemi creati in qualsiasi momento nel giugno del 2014. Per una maggiore specificità, puoi cercare su created:2014-06-03T04 per trovare i problemi creati il 3 giugno 2014 nella quarta ora (tra le 04:00 e le 5:00 UTC).

Intervalli di tempo

Puoi utilizzare due caratteri punto (..) per specificare un intervallo di tempo nei criteri di ricerca campo/valore. La sintassi è [field]:[start time]..[end time]. L'ora di inizio e l'ora di fine possono avere il grado di specificità desiderato. Ad esempio, verified:2013..2015 restituisce tutti i problemi verificati nel 2013, 2014 o 2015.

Formato del tempo relativo

Puoi anche specificare un'ora in termini di giorni precedenti a oggi. A tale scopo, utilizza il formato [days]d, dove [days] è il numero di giorni nel passato che vuoi includere nei risultati di ricerca. Ad esempio, puoi usare modified:5d per trovare i problemi modificati negli ultimi cinque giorni.

Quando utilizzi un formato dell'ora relativa, l'operatore deve essere costituito dai due punti (:) come created:5d. Se vuoi individuare problemi che non rientrano nell'intervallo, puoi utilizzare l'operatore NOT o -.

Ad esempio, -verified:10d restituisce problemi che non sono stati verificati negli ultimi 10 giorni. Se vuoi trovare 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 temporali al posto della data corrente. Supporta l'uso di calcoli aritmetici dei 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

Avvertenza: come indicato nel formato dell'ora assoluto, le ricerche in base all'ora in Issue Tracker sono in UTC. Lo stesso vale per le ricerche che utilizzano today.