Campi di query, operatori e macro

servizi Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Suggerimento

È la prima volta che fai una ricerca? Iniziare con Definire una query per i passaggi procedurali o Fare riferimento rapido alle query per esempi.

Usare questa guida di riferimento per cercare i tipi di dati di campo, gli operatori di query, le macro e le variabili durante la compilazione di query nel Editor di query. Tutti gli operatori e le macro sono supportati in Azure Boards; alcuni si applicano solo a versioni Azure DevOps Server specifiche.

Per esempi rapidi e attività dell'editor, vedere Informazioni di riferimento rapido sulle query e Gestire e organizzare le query.

Prerequisiti

Categoria Requisiti
Appartenenza al progetto È necessario che tu venga aggiunto come membro del progetto.
Livelli di accesso - Per visualizzare ed eseguire query condivise: è necessario essere un membro Project.
- Per aggiungere e salvare una query condivisa: è necessario avere almeno l'accesso di base.
Permissions Verificare che l'autorizzazione Di collaborazione sia impostata su Consenti per la cartella in cui si vuole aggiungere una query. L'organizzazione potrebbe dover configurare manualmente il gruppo Collaboratori per concedere questa autorizzazione.

Nota

È necessaria sia un livello di accesso sufficiente che l'autorizzazione Collaborazione per salvare le query condivise. L'accesso di base non è sufficiente.

Categoria Requisiti
Appartenenza al progetto È necessario che tu venga aggiunto come membro del progetto.
Livelli di accesso - Per visualizzare ed eseguire query condivise: è necessario essere un membro Project.
- Per aggiungere e salvare una query condivisa: è necessario avere almeno l'accesso di base.
Permissions Verificare che l'autorizzazione Di collaborazione sia impostata su Consenti per la cartella in cui si vuole aggiungere una query. L'organizzazione potrebbe dover configurare manualmente il gruppo Collaboratori per concedere questa autorizzazione.

Nota

È necessaria sia un livello di accesso sufficiente che l'autorizzazione Collaborazione per salvare le query condivise. L'accesso di base non è sufficiente.

Tipi di dati e valori dei campi di query

Specificare un valore che corrisponda al tipo di dati per un campo. Nella tabella seguente sono elencati i tipi di dati supportati:

Nota

Per Azure Boards (cloud), il tipo di dati corrisponde al campo visualizzato nella pagina Process > Campi. Per le distribuzioni locali, il tipo di dati corrisponde all'attributo type in una FIELD definizione. Per informazioni dettagliate, vedere Campi elemento di lavoro e attributi di campo .

Tipo di dati Description
Booleano Archivia un valore True/False.
DateTime o Date/Time Usa una variabile di data (ad esempio, @Today o @Today-1) oppure una data esplicita come 01/01/2025. Immettere le date nel modello impostato nel profilo. Per esempi di query, vedere Query by date or @CurrentIteration. Per le query WIQL, è anche possibile specificare le date in formato UTC. Consulta la sintassi per il linguaggio di query per gli elementi di lavoro (WIQL).
Doppio o Decimale Archivia un numero reale, ad esempio 0,2 o 3,5. Per esempi, vedere Eseguire query in base a campi numerici .
GUID Archivia una stringa di identificatore univoco.
Cronologia Campo formattato personalizzato utilizzato per informazioni cronologiche (campo Cronologia ). Quando è disponibile la ricerca a testo completo, questo campo viene indicizzato per le query a testo completo. Vedere Cronologia e controllo.
HTML Archivia testo formattato, ad esempio Descrizione o Passaggi di riproduzione. Quando la ricerca full-text è disponibile, questi campi vengono indicizzati. Per eseguire query su campi RTF, vedere Eseguire query in base a titoli, ID e campi RTF.
Identità Archivia una stringa di testo breve che identifica un'identità utente.
Integer Archivia un intero a 32 bit con segno, ad esempio 0, 1, 2 o 34.
Testo semplice o Campo di testo (multilinea) Archivia valori di testo lunghi, ad esempio Le informazioni di avvio dell'applicazione. Questi campi vengono indicizzati per la ricerca full-text quando supportati. Vedere Eseguire query in base a titoli, ID e campi RTF.
picklistDouble Campo personalizzato che contiene un elenco di valori decimali.
picklistInteger Campo personalizzato che contiene un elenco di valori interi.
picklistString Campo personalizzato che contiene un elenco di selezione di valori brevi di testo (255 caratteri o meno).
Stringa o Campo di testo (singola riga) Archivia testo breve fino a 255 caratteri Unicode. I team usano spesso questi campi per elenchi di selezione o menu a discesa.
TreePath Rappresenta un albero di diramazione, ad esempio Percorso area o Percorso iterazione. Scegliere un valore di nodo valido. È possibile filtrare per uguaglianza, disuguaglianza, "Inferiore a" o "Non inferiore a". Utilizzare gli operatori In e Not In per specificare più valori. Definire le strutture ad albero per un progetto, ovvero percorsi di area e percorsi di iterazione , e selezionare i nodi da associare ai team. Per esempi di query, vedere Eseguire query in base all'area o al percorso di iterazione e Eseguire query in base alla data o all'iterazione corrente.

Nota

I picklist... tipi si applicano solo ai campi personalizzati definiti per un processo ereditato.

Modello di data e ora

Il modello di data e ora che inserisci nei campi DateTime deve corrispondere a quello selezionato tramite il tuo profilo. Per visualizzare o modificare la selezione, vedere Impostare le preferenze utente.

Screenshot che mostra le opzioni nel menu a discesa Formato della data nel pannello Ora e impostazioni locali. Screenshot che mostra le opzioni nel menu a discesa Formato dell'ora nel pannello Ora e impostazioni locali.

Screenshot che mostra il riquadro Ora e impostazioni locali con i campi Modelli di data e ora.

Operatori di query

Usare gli operatori per definire il modo in cui un valore di clausola deve essere correlato al valore del campo di un elemento di lavoro. Per i tipi di dati dei campi, vedere Informazioni di riferimento sul campo elemento di lavoro. Per informazioni sulla creazione di query, vedere Definire una query.

Operatore di interrogazione Quando l'operatore restituisce elementi di lavoro corrispondenti Tipi di dati applicabili
= Trova la corrispondenza con il valore della clausola. Number (Double/Decimal/GUID/Integer), String, DateTime, TreePath
<> Non corrisponde al valore della clausola. Number, String, DateTime, TreePath
> È maggiore del valore della clausola. Numero, String, Data e Ora
< È minore del valore della clausola. Numero, String, Data e Ora
>= È maggiore o uguale al valore della clausola. Numero, String, Data e Ora
<= È minore o uguale al valore della clausola. Numero, String, Data e Ora
=[Campo] Corrisponde al valore in un altro campo specificato (deve essere lo stesso tipo di dati). Nome di un campo dello stesso tipo di dati (i campi booleani confrontano l'uguaglianza con altri campi).
<>[Campo] Non corrisponde al valore in un altro campo specificato. Nome di un campo dello stesso tipo di dati.
>[Campo] È maggiore del valore in un altro campo specificato. Nome di un campo dello stesso tipo di dati.
<[Campo] È minore del valore in un altro campo specificato. Nome di un campo dello stesso tipo di dati.
>=[Campo] È maggiore o uguale al valore in un altro campo specificato. Nome di un campo dello stesso tipo di dati.
<=[Campo] È minore o uguale al valore in un altro campo specificato. Nome di un campo dello stesso tipo di dati.
Contiene Contiene una corrispondenza di testo esatta o parziale. String
Non contiene Non contiene una corrispondenza di testo esatta o parziale. String
Contiene parole Trova la corrispondenza esatta di una frase o parola (supporta il carattere jolly finale *). Limite: 100 caratteri. Questo operatore usa l'indicizzazione a testo intero; vedere la sezione Testo completo in questo articolo per i requisiti di collationi e server. Campi di testo lungo indicizzati per la ricerca full-text (Testo normale, HTML, Cronologia e Titolo).
Non contiene parole Esclude gli elementi che contengono la frase o le parole specificate. Limite: 100 caratteri. Usare con Contains Words nelle clausole complementari per includere o escludere parole chiave. Campi di testo indicizzati per la ricerca a testo pieno.
In Corrisponde a qualsiasi valore in un set delimitato (utilizzare il separatore dell'elenco regionale del sistema operativo, solitamente una virgola). Number, String, DateTime, TreePath
È vuoto Trova la corrispondenza con gli elementi in cui un campo HTML non contiene contenuto (nessun valore specificato). Supportato per Azure Boards e Azure DevOps Server. HTML
Non è vuoto Trova la corrispondenza degli elementi in cui un campo HTML contiene contenuto. Supportato per Azure Boards e Azure DevOps Server. HTML
Non in Esclude i valori in un set delimitato (usare il separatore elenco regionale). Supportato per Azure Boards e Azure DevOps Server. Number, String, DateTime, TreePath
In gruppo Corrisponde ai valori che sono membri di un gruppo specificamente denominato (team, gruppo di sicurezza o categoria). Ad esempio, usare il gruppo Collaboratori o un gruppo di team denominato nel modello [Project Name]\Team Name. Per esempi, vedere Eseguire query in base all'assegnazione o al flusso di lavoro. Utilizzare In Gruppo solo con campi di tipo stringa o tipo di elemento di lavoro. È possibile usare i gruppi di Microsoft Entra ID quando l'account utilizza Microsoft Entra ID o i gruppi di Active Directory per le soluzioni locali. Stringa (corrisponde al nome del gruppo o del team) o al tipo di elemento di lavoro
Non nel gruppo Esclude i membri di un gruppo denominato. Stringa che corrisponde a un gruppo di utenti o a una categoria di progetto.
Non sotto Esclude gli elementi uguali a o contenuti sotto il nodo della struttura ad albero specificato. TreePath
Sotto Corrisponde agli elementi equivalenti o contenuti nel nodo specificato della struttura ad albero. TreePath
È mai stato? Corrisponde a un valore che un campo ha avuto in qualsiasi tempo precedente. (Editor di query: solo i campi stringa. Il supporto DateTime richiede query WIQL dirette.) stringa, data e ora

Suggerimento

È possibile costruire query WIQL che usano operatori (ad esempio, Was Ever) su altri tipi di dati come il percorso di iterazione. Per un esempio, vedere Elencare gli elementi di lavoro spostati da uno sprint .

Esempi di operatori comuni

Di seguito sono riportati esempi di query rappresentativi che usano vari operatori:

Query Returns
State = Active Elementi di lavoro con stato "Attivo"
Priority <> Low Tutti gli elementi tranne quelli con priorità bassa
Created Date >= @Today-7 Elementi di lavoro creati negli ultimi 7 giorni
Assigned To = @Me Elementi assegnati all'utente corrente
Tags Contains "frontend" Elementi con un tag contenente "frontend"
State In (Active, In Progress) Elementi in entrambi gli stati
Area Path Under "Project\Web" Tutti gli elementi nell'area Web, incluse le sottoaree
Assigned To In Group "[Project]\Developers" Elementi assegnati a chiunque nel gruppo Sviluppatori
Description Contains Words "urgent" Elementi in cui la descrizione contiene la parola "urgente"

Ricerche full-text e ricerche parziali per parola

Utilizzare Contains o Does Not Contain per cercare corrispondenze esatte o parziali su campi di testo lungo. Questi operatori usano l'indice delle query. Usa Contiene parole o Non contiene parole per cercare frasi esatte oppure usa un carattere jolly alla fine (*). Questi operatori richiedono l'indice a testo completo.

È possibile utilizzare il carattere jolly solo alla fine di una parola o di una porzione di frase. Per esempi, vedere Esempi di query sugli elementi di lavoro e Query sugli elementi di lavoro usando il campo Cronologia.

Nota

Non tutte le distribuzioni supportano la ricerca full-text. Ad esempio, SQL Express e alcune configurazioni SQL cloud non supportano la ricerca full-text. In tali distribuzioni sono visibili solo gli operatori Contains e Does Not Contain .

Azure DevOps Server indicizza i campi long-text (Testo normale e HTML) e il campo Titolo per la ricerca full-text quando il SQL Server sottostante supporta l'indicizzazione full-text.

La ricerca full-text richiede anche regole di confronto SQL con un word breaker registrato per la lingua usata. Se le regole di confronto del database di raccolta non corrispondono a una lingua supportata, i risultati potrebbero non corrispondere alle aspettative. In questi casi, usa invece Contiene o Non contiene.

Per altre informazioni, vedere Query di ricerca full-text e impostazioni di confronto.

Combinazione degli operatori

Le query usano la logica AND per combinare più clausole. Ogni clausola aggiuntiva filtra ulteriormente i risultati. Per esempio:

  • State = Active AND Priority = High restituisce gli elementi di lavoro che sono entrambi attivi e hanno priorità alta.
  • State = Active AND State <> Closed restituisce gli elementi attivi esclusi quelli contrassegnati come chiusi.
  • Assigned To = @Me AND State <> Done restituisce gli elementi assegnati all'utente che non sono stati completati.

È possibile usare le parentesi per raggruppare le condizioni per query complesse nella sintassi WIQL diretta:

  • (State = Active OR State = In Progress) AND Priority = High restituisce elementi con priorità elevata in stati attivi o in corso.

Per altri esempi e dettagli sulla sintassi WIQL, vedere Sintassi per il linguaggio di query dell'elemento di lavoro (WIQL).

Risoluzione dei problemi e errori comuni

Problema Causa probabile Soluzione
Macro non restituisce risultati @CurrentIteration funziona solo nel portale Web; Le API REST e l'interfaccia della riga di comando potrebbero restituire risultati vuoti Usare invece date dirette in script o API. Per le alternative, vedere Eseguire query in base alla data o all'iterazione corrente.
@TeamAreas query restituisce risultati imprevisti La macro funziona solo con il campo Percorso area ; l'uso con altri campi non ha alcun effetto Verifica di filtrare per Percorso area. Usa invece altri campi del percorso ad albero (Percorso iterazione) con l'operatore Under.
Contiene l'errore dell'operatore Words La query supera il limite di 100 caratteri o utilizza un posizionamento non valido dei caratteri jolly Ridurre il testo della query a meno di 100 caratteri. Usare il carattere jolly solo alla fine di un termine (ad esempio, feature*), non all'inizio.
La query di gruppo non riesce Il formato del nome del gruppo non è corretto o il gruppo non esiste Usa il formato esatto: Assigned To In Group "[Project]\\Team Name" per i team. Verificare il nome del gruppo nelle impostazioni del progetto.
L'operatore Was Ever non funziona sulle date Editor di query non supporta i Was Ever campi DateTime Usare la sintassi WIQL diretta anziché l'editor di query visuale. Per ulteriori informazioni, vedere Sintassi del linguaggio di interrogazione Work Item (WIQL).
La query di campo booleano non restituisce risultati Il valore fa distinzione tra maiuscole e minuscole nelle query WIQL Usa esattamente le maiuscole/minuscole: CustomBoolField = True o CustomBoolField = False (T/F maiuscole in WIQL).

Query macro e variabili

Utilizzare le macro seguenti per filtrare le query in modo dinamico.

Nota

Le macro seguenti sono supportate solo dal portale web: @CurrentIteration, @CurrentIteration +/- n, @Follows, @MyRecentActivity, @RecentMentions, @RecentProjectActivitye @TeamAreas. Le query che contengono queste macro non funzioneranno quando vengono aperte in Visual Studio/Team Explorer, Microsoft Excel o Microsoft Project.

Macro Description
[Qualsiasi] Usare con tipo di elemento di lavoro o stato per eseguire la ricerca in tutti i tipi o stati. Ad esempio, Work Item Type=[Any] rimuove il filtro basato sui tipi.
@CurrentIteration Usare con Percorso di iterazione per filtrare gli elementi di lavoro nello sprint corrente in base al contesto del team corrente. Per esempi, vedere Eseguire query in base alla data o all'iterazione corrente . @CurrentIteration funziona solo quando viene eseguito dal portale Web (non nelle API REST o in alcune operazioni di copia/clonazione).
@CurrentIteration +/- n Usare con Percorso di iterazione per includere sprint relativi all'iterazione corrente , ad esempio @CurrentIteration-1 o @CurrentIteration+2. Supportato nel portale Web per Azure Boards e Azure DevOps Server.
@Follows Usare con ID e l'operatore In per elencare gli elementi di lavoro che segui nel progetto. Vedere Seguire un elemento di lavoro o una richiesta pull. Questa macro funziona solo dal portale Web.
@Me Utilizza con i campi di identità per filtrare gli elementi collegati al tuo account, per esempio Created By=@Me. Vedere Eseguire query in base alle modifiche di assegnazione, flusso di lavoro o scheda.
@MyRecentActivity Usare con ID e In per elencare gli elementi di lavoro visualizzati o aggiornati negli ultimi 30 giorni. Per lo stesso elenco, vedere la pagina Elementi di lavoro La mia attività pivot.
@Project Usare con Team Project per filtrare gli elementi di lavoro nel progetto corrente , ad esempio Team Project=@Project. Vedere Eseguire query tra progetti.
@RecentMentions Utilizzare con ID e In per elencare gli elementi di lavoro in cui sei menzionato nelle discussioni. Vedere la pagina Elementi di lavoro Menzionati pivot.
@RecentProjectActivity Utilizzare con ID e In per visualizzare gli elementi di lavoro recentemente aggiornati in tutto il progetto. La macro restituisce fino a 5.000 elementi; la finestra effettiva dipende dall'attività del progetto.
@StartOfDay Usare con i campi DateTime per filtrare in relazione a oggi (ad esempio, Closed Date>=@StartOfDay-7).
@StartOfMonth Usare con i campi DateTime per filtrare in relazione all'inizio del mese (ad esempio, Created Date>=@StartOfMonth-3).
@StartOfWeek Usare con i campi DateTime per filtrare in relazione all'inizio della settimana , ad esempio Changed Date>=@StartOfWeek-2.
@StartOfYear Usare con i campi DateTime per filtrare in relazione all'inizio dell'anno , ad esempio Target Date>=@StartOfYear.
@TeamAreas Usare solo con Area Path e l'operatore = per trovare gli elementi assegnati ai percorsi di area di un team , ad esempio Area Path=@TeamAreas [Fabrikam Fiber]\Web. Supportato nel portale Web per Azure Boards e Azure DevOps Server.
@Today Usare con i campi DateTime per filtrare in relazione a oggi (ad esempio, Created Date>=@Today-7). Consulta Query per data o iterazione corrente.

Esempi di macro comuni

Di seguito sono riportati esempi di query rappresentativi che usano macro per rendere dinamiche le query:

Query Resi (portale web)
Iteration Path = @CurrentIteration Elementi di lavoro nello sprint corrente
Iteration Path = @CurrentIteration-1 Elementi di lavoro nello sprint precedente
Assigned To = @Me Elementi assegnati all'utente corrente
Created Date >= @Today-30 Elementi creati negli ultimi 30 giorni
State = Active AND Area Path = @TeamAreas [Project]\MyTeam Elementi attivi nell'area della tua squadra
Work Item Type = [Any] Tutti i tipi di elemento di lavoro (rimuove il filtro dei tipi)
Assigned To In Group @Follows Elementi assegnati alle persone seguite

Nota

Le macro come @CurrentIteration, @Me@Follows, e @TeamAreas funzionano solo nel portale Web. Per le API REST, l'interfaccia della riga di comando e Power BI, usare invece date dirette e ID utente. Per le alternative, vedere Eseguire query in base alla data o all'iterazione corrente.

REST API

Per interagire a livello di codice con le query, vedere una delle risorse dell'API REST seguenti: