Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Studio visivo 2022
Le query sugli elementi di lavoro in Azure Boards generano elenchi di elementi di lavoro in base ai criteri di filtro forniti dall'utente. È possibile salvare e condividere queste query gestite con altri utenti.
È possibile creare query dal portale Web o da un client supportato, ad esempio Visual Studio Team Explorer. Per supportare aggiornamenti o aggiunte in blocco, importare o esportare query usando Excel o .csv file.
Nota
Le immagini seguenti mostrano l'interfaccia utente con la funzione Nuovo Hub Bacheche abilitata per impostazione predefinita. Per altre informazioni, vedere Gestire o abilitare le funzionalità.
Vedere le procedure consigliate più avanti in questo articolo.
Prerequisiti
Nota
Gli utenti con accesso stakeholder per un progetto pubblico hanno accesso completo alle funzionalità di query esattamente come gli utenti con accesso di base . Per ulteriori informazioni, vedere Riferimento rapido all'accesso per gli Stakeholder.
Categoria | Requisiti |
---|---|
livelli di accesso | - Per visualizzare ed eseguire query condivise: membro del progetto . - Per aggiungere e salvare una query condivisa: almeno accesso di base. |
autorizzazioni | AutorizzazioneContribuire impostata su Consenti per la cartella a cui si desidera aggiungere una query. Per impostazione predefinita, il gruppo Collaboratori non dispone di questa autorizzazione. |
Scegliere un filtro di query
Nell'Editor di query, selezionare il filtro per accedere a un articolo con query di esempio. Oltre ai filtri di query, è possibile applicare in modo interattivo filtri ai risultati delle query.
Nota
Le query gestite non supportano le ricerche di prossimità, ma le ricerche semantiche. Le ricerche semantiche supportano l'uso di *
e ?
come caratteri jolly ed è possibile utilizzare più caratteri jolly per abbinarli a più caratteri. Per altre informazioni, vedere Ricerca di elementi di lavoro funzionale.
Funzionalità di filtro
Macro
È possibile filtrare in modo interattivo una query usando la funzione Filter.
Query aperte
Dal Web browser, (1) verificare che sia stato selezionato il progetto corretto, (2) scegliere Boards > Query e quindi (3) scegliere Tutto.
La pagina Query si apre sulla scheda Preferiti in cui sono elencate le query impostate come preferiti. È possibile scegliere la scheda Tutti per visualizzare tutte le query definite e condivise per il progetto.
Suggerimento
Le query che l'utente o il team hanno scelto come preferiti sono visualizzati nella pagina Preferiti . Anche le query preferite insieme ad altri oggetti vengono visualizzate nella pagina Progetto . Per ulteriori informazioni, vedere Impostare i preferiti personali o del team.
Dal progetto scegliere > (Query boards) e quindi scegliere Tutti.
La pagina Query si apre sulla scheda Preferiti in cui sono elencate le query impostate come preferiti. È possibile scegliere la scheda Tutti per visualizzare tutte le query definite e condivise per il progetto.
Suggerimento
Le query che l'utente o il team hanno scelto come preferiti sono visualizzati nella pagina Preferiti . Anche le query preferite insieme ad altri oggetti vengono visualizzate nella pagina Progetto . Per ulteriori informazioni, vedere Impostare i preferiti personali o del team.
Definire una query flat-list
Avviare una nuova query dalla scheda Query nel portale Web o nella scheda Elementi di lavoro in Team Explorer.
- Selezionare Nuovo>Nuova query.
Il Editor di query viene visualizzato con le impostazioni predefinite seguenti: Elenco semplice di elementi di lavoro, Tipo elemento di lavoro=[Any]e State=[Any].
- Modificare i valori e aggiungere o rimuovere clausole oppure modificare il tipo di queryin Elementi di lavoro e collegamenti diretti o in un albero di elementi di lavoro.
- Selezionare Nuovo>Nuova query.
Il Editor di query viene visualizzato con le impostazioni predefinite seguenti: Elenco semplice di elementi di lavoro, Tipo elemento di lavoro=[Any]e State=[Any].
- Modificare i valori e aggiungere o rimuovere clausole oppure modificare il tipo di queryin Elementi di lavoro e collegamenti diretti o in un albero di elementi di lavoro.
Eseguire query tra progetti o all'interno di progetti
Per impostazione predefinita, l'ambito delle nuove query è il progetto attuale. È tuttavia possibile creare query per trovare gli elementi di lavoro definiti all'interno dell'organizzazione o della raccolta di progetti. Tutte le query salvate, tuttavia, vengono salvate in un progetto specifico.
Per elencare gli elementi di lavoro definiti in due o più progetti, selezionare Query tra progetti. Ad esempio, la query seguente trova tutte le funzionalità create in tutti i progetti negli ultimi 30 giorni.
Nota
- Separare più nomi di progetto usando il separatore di elenco definito dalle impostazioni internazionali del computer client, ad esempio una virgola
,
. - Quando si usa il campo "State" in una query in più progetti, i valori visualizzati sono limitati agli elementi definiti nel progetto predefinito. Se si esegue una query tra progetti, è possibile che non vengano visualizzati tutti i valori di stato possibili di ogni progetto, ma solo i valori del progetto predefinito. Ad esempio, se sono presenti tre progetti, ovvero Project A, Project B e Project C, e solo Project A ha uno stato denominato "In revisione", mentre i progetti B e C hanno stati diversi, la query visualizza solo gli stati definiti nel progetto A.
Quando si creano query in più progetti, la disponibilità dei campi nel menu a discesa Campo dipende dal fatto che l'opzione Query tra progetti sia abilitata. Tenere presenti i comportamenti chiave seguenti:
- Il campo Progetto del team diventa disponibile solo dopo aver selezionato Interrogazione tra progetti.
- Quando si seleziona Query tra progetti, tutti i campi di tutti i tipi di elemento di lavoro definiti in tutti i progetti della raccolta vengono visualizzati nel menu a discesa campo.
- Quando query tra progetti è deselezionata, nel menu a discesa Campo vengono visualizzati solo i campi dei tipi di elemento di lavoro definiti nel progetto corrente.
Con l'opzione Query tra progetti selezionata, è possibile aggiungere il campo Team Project (Progetto team) per filtrare un numero selezionato di progetti.
Definire una clausola
Per creare una query, definire una o più clausole. Ogni clausola definisce un criterio di filtro per un singolo campo.
Clausola di query di esempio
O | Campo | Operatore | Valore |
---|---|---|---|
E | Assegnato a | = | @Me |
Per un elenco degli operatori disponibili in base al tipo di dati del campo, vedere il Riferimento rapido all'indice di query.
Tutte le clausole vengono aggiunte come istruzione And . Selezionare Oppure per modificare il raggruppamento. Raggruppa le clausole per far sì che le istruzioni della clausola vengano eseguite nella sequenza richiesta.
Selezionare Aggiungi nuova clausola per aggiungere un'altra clausola alla fine della query e quindi selezionare il campo, l'operatore e il valore per tale clausola.
Ad esempio, cercare tutti gli elementi di lavoro assegnati specificando il campo Assegnato a, l'operatore equals (=) e la macro @Me, che rappresenta l'identità dell'utente.
Suggerimento
Per visualizzare la sintassi WIQL per una query e come vengono usate le parentesi per raggruppare le clausole, installare l'editor Wiql del Marketplace. Questa estensione supporta la visualizzazione della sintassi WIQL e l'esportazione in un file WIQL da usare nelle chiamate API REST. Per maggiori dettagli, vedere Sintassi per il linguaggio di query dell'elemento di lavoro (WIQL).
Elenco di controllo per la definizione di una clausola di query
Nella prima riga vuota, sotto l'intestazione di colonna Campo , scegliere la freccia giù per visualizzare l'elenco dei campi disponibili e scegliere un elemento nell'elenco. Per ulteriori informazioni, vedere Campi e valori della query.
Nella stessa riga, sotto l'intestazione di colonna Operatore , selezionare la freccia giù per visualizzare l'elenco degli operatori disponibili e quindi scegliere un elemento nell'elenco. Per altre informazioni, vedere Operatori.
Nella stessa riga, sotto l'intestazione di colonna Valore immettere un valore oppure selezionare la freccia giù e quindi scegliere un elemento nell'elenco. Per altre informazioni su come usare una macro o una variabile per specificare il progetto, l'utente, la data o un'altra selezione corrente, vedere Variabili.
Per aggiungere una clausola, scegliere Aggiungi nuova clausola.
È possibile aggiungere una clausola alla fine della query oppure eseguire le attività seguenti con le icone corrispondenti:
-
Inserisci nuova riga di filtro
-
Rimuovere questa riga di filtro
-
Raggruppare le clausole selezionate
-
Clausole ungroup
-
Usare un albero degli elementi di lavoro per visualizzare le gerarchie
Usare la query Albero degli elementi di lavoro per visualizzare un elenco annidato a più livelli di elementi di lavoro. Ad esempio, è possibile visualizzare tutti gli elementi del backlog e le relative attività collegate. Per concentrarsi su parti diverse dell'albero, scegliere
Espandi tutto o
Comprimi tutto.
Nota
Non è possibile costruire una query che mostra una visualizzazione gerarchica dei piani di test, dei gruppi di test e dei test case. Questi elementi non vengono collegati insieme usando tipi di collegamento padre-figlio. Tuttavia, è possibile creare una query di collegamenti diretti che elenca gli elementi di lavoro correlati ai test. È anche possibile visualizzare la gerarchia tramite la pagina Piani di test.
Definire i criteri di filtro per gli elementi di lavoro padre e figlio. Per trovare elementi figlio collegati, seleziona Abbina prima gli elementi di lavoro di primo livello. Per trovare gli elementi padre collegati, selezionare Abbina prima gli elementi di lavoro collegati.
Usare collegamenti diretti per visualizzare le dipendenze
Usare la query Elementi di lavoro e Collegamenti diretti per tenere traccia degli elementi di lavoro che dipendono da altre attività rilevate, ad esempio attività, bug, problemi o funzionalità. Ad esempio, è possibile visualizzare gli elementi backlog che dipendono da altri elementi implementati o da un bug risolto.
Usare la query dei collegamenti diretti per tenere traccia delle dipendenze tra i team. La query consente anche di gestire gli impegni che il vostro team prende. Scegliere i criteri di filtro per gli elementi di lavoro principali e collegati. Selezionare i tipi di collegamenti per filtrare le dipendenze.
Filtrare l'elenco di elementi di lavoro di primo livello scegliendo una di queste opzioni:
- Restituisce solo gli elementi con collegamenti corrispondenti: gli elementi di lavoro di primo livello restituiscono, ma solo se hanno collegamenti agli elementi di lavoro specificati dai criteri di filtro degli elementi di lavoro collegati.
- Restituisci tutti gli elementi di primo livello: tutti gli elementi di lavoro di primo livello vengono restituiti nonostante i criteri di filtro degli elementi di lavoro collegati. Gli elementi di lavoro di secondo livello collegati al primo livello restituiscono se corrispondono ai criteri di filtro degli elementi di lavoro collegati.
- Vengono restituiti solo gli elementi restituiti che non dispongono di collegamenti corrispondenti: gli elementi di lavoro di primo livello vengono restituiti, ma solo se non dispongono di collegamenti agli elementi di lavoro specificati dai criteri di filtro degli elementi di lavoro collegati.
Per altre informazioni su ogni tipo di collegamento, vedere Informazioni di riferimento sul tipo di collegamento.
Usare e/o un'espressione logica
Specificare And
o Or
per creare espressioni logiche delle clausole di query. Utilizzare And
per trovare elementi di lavoro che soddisfano i criteri nella clausola corrente e nella clausola precedente. Utilizzare Or
per trovare elementi di lavoro che soddisfano il criterio nella clausola corrente o nella clausola precedente.
Aggiungere una nuova clausola per ogni campo dell'elemento di lavoro per perfezionare i criteri di ricerca. Aggiungere clausole per restituire solo il set di elementi di lavoro desiderati. Se non ricevi i risultati che ti aspetti dalla tua query, perfezionala. È possibile aggiungere, rimuovere, raggruppare o separare le clausole di query per migliorare i risultati della query.
Raggruppare le clausole di query da utilizzare come singola unità separata dal resto della query. Le clausole di raggruppamento sono simili all'inserimento di parentesi intorno a un'espressione in un'equazione matematica o in un'istruzione logica. Quando si raggruppano le clausole, l'oggetto And
o Or
per la prima clausola del gruppo si applica all'intero gruppo.
Clausole del gruppo
Le clausole raggruppate funzionano come una singola unità separata dal resto della query. Le clausole di raggruppamento sono simili all'inserimento di parentesi intorno a un'equazione matematica o a un'espressione logica. L'operatore And
o Or
per la prima clausola nel gruppo si applica all'intero gruppo.
Come illustrato negli esempi seguenti, le clausole raggruppate vengono convertite nell'espressione logica corrispondente.
Richiesta | Clausole raggruppate | Espressione logica |
---|---|---|
1 |
![]() |
![]() |
2 |
![]() |
![]() |
3 |
![]() |
![]() |
Queste query restituiscono elementi di lavoro di tipo Bug e soddisfano le espressioni logiche seguenti:
-
Query 1:
AND State=Active OR Assigned to @Me
-
Query 2:
AND (State=Active OR Assigned to @Me)
-
Query 3:
OR (State=Active AND Assigned to @Me)
Per raggruppare una o più clausole, selezionarle e quindi selezionare l'icona delle clausole di gruppo.
È anche possibile raggruppare diverse clausole raggruppate. Selezionare le caselle di ogni clausola. Scegliere quindi l'icona delle clausole di gruppo.
Se i risultati della query non restituiscono i risultati previsti, seguire questa procedura:
- Assicurarsi che ogni clausola sia definita come previsto.
- Verificare
And
/Or
le assegnazioni a ogni clausola. Se i risultati contengono più elementi di lavoro del previsto, spesso è presente unaOr
clausola anziché unaAnd
clausola . - Determinare se è necessario raggruppare o modificare il raggruppamento delle clausole di query e le
And
/Or
assegnazioni di ogni clausola raggruppata. - Aggiungere altre clausole di query per perfezionare i criteri di filtro delle query.
- Esaminare le opzioni disponibili per specificare campi, operatori e valori.
- Vedere le procedure consigliate più avanti in questo articolo.
Separare una clausola
Per separare una clausola, selezionare l'icona delle clausole non raggruppate per la clausola raggruppata.
Impostare la larghezza della colonna predefinita nei risultati della query
Per impostare la larghezza predefinita delle colonne nei risultati della query, seguire questa procedura:
- Apri la query che desideri modificare.
- Regolare manualmente le larghezze delle colonne in base alle dimensioni desiderate trascinando i bordi delle intestazioni di colonna.
- Selezionare Salva o Salva con nome se si desidera salvarlo come una nuova query.
- Chiudere e riaprire la query per assicurarsi che le larghezze delle colonne vengano mantenute.
Azure DevOps attualmente non supporta l'impostazione di una larghezza di colonna predefinita che persiste in tutte le sessioni. Le larghezze delle colonne vengono salvate per ogni query, quindi è necessario modificarle e salvarle singolarmente per ogni query.
Visualizzare i risultati della query in un dashboard
I due widget seguenti visualizzano i risultati della query. È possibile aprire gli elementi di lavoro direttamente da questi widget.
- Lavoro assegnato a me: elenca tutti gli elementi di lavoro proposti o attivi assegnati all'utente connesso. Elenca i campi ID, Stato e Titolo.
- Widget Risultati query: visualizza i risultati di una query flat, ad albero o di collegamenti diretti. È possibile configurare i campi visualizzati tramite il widget, ridimensionare i campi delle colonne ed espandere e comprimere la struttura ad albero e le query a collegamenti diretti.
Per altre informazioni, vedere Aggiungere widget a un dashboard.
Visualizzazione del widget dei risultati della query con i titoli principali
Per visualizzare i risultati di una query con il titolo padre visualizzato, seguire questa procedura:
- Creare una query che filtra gli elementi di lavoro di interesse. La query può essere un elenco piatto, ad albero o con collegamenti diretti.
- Aggiungere il campo Padre come colonna. Anche se è possibile includere il campo Padre , il comportamento predefinito potrebbe mostrare solo l'ID dell'elemento di lavoro padre. Per assicurarsi che il nome venga visualizzato insieme all'ID, combinare i campi Tipo elemento di lavoro e Padre con il campo Titolo nella struttura di query.
- Salvare la query come query condivisa o Gruppo preferito.
- Aggiungere il widget Risultati della query al dashboard e configurare la query. Assicurarsi che il campo Padre sia impostato per la visualizzazione.
L'immagine seguente illustra un widget dei risultati della query che visualizza il campo Padre .
Definire una query come collegamento ipertestuale
Un collegamento ipertestuale di query utilizza il linguaggio di query degli elementi di lavoro (WIQL), che è simile a Transact-SQL. Per maggiori dettagli, vedere Sintassi per il linguaggio di query dell'elemento di lavoro (WIQL).
Nota
La maggior parte dei browser applica un limite compreso tra 2.000 e 2.083 caratteri per una stringa URL.
Sintassi dei collegamenti ipertestuali delle query
Codificare la parte WIQL della sintassi dell'URL. È possibile usare qualsiasi strumento di codificatore URL per codificare l'URL.
https://dev.azure.com/OrganizationName/ProjectName/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage}
Ad esempio, il collegamento ipertestuale seguente elenca l'ID e il titolo di tutti i bug attivi definiti nel percorso dell'area FabrikamFiber/Web per l'organizzazione Fabrikam.
https://dev.azure.com/fabrikam/FabrikamFiber/_workitems?_a=query&wiql=SELECT%20%5BSystem.ID%5D%2C%20%5BSystem.Title%5D%20FROM%20WorkItems%20WHERE%20%5BSystem.TeamProject%5D%3D'FabrikamFiber'%20AND%20%5BSystem.WorkItemType%5D%3D'Bug'%20AND%20%5BSystem.State%5D%3D'Active'%20AND%20%5BSystem.AreaPath%5D%3D'FabrikamFiber%5CWeb'
WiQL decodificato è conforme a:
SELECT [System.ID], [System.Title]
FROM WorkItems
WHERE [System.TeamProject]='FabrikamFiber'
AND [System.WorkItemType]='Bug'
AND [System.State]='Active'
AND [System.AreaPath]='FabrikamFiber\Web'
Nota
La lunghezza di WIQL non deve superare i 32 K caratteri per le query di Azure Boards.
Sintassi dei collegamenti ipertestuali delle query
https://{ServerName}/{CollectionName}/{ProjectName}/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage}
Ad esempio, il collegamento ipertestuale seguente elenca l'ID, il titolo e lo stato di tutti i bug nel percorso dell'area FabrikamFiber/Web.
http://fabrikam:8080/tfs/DefaultCollection/FabrikamFiber/_workitems?_a=query&wiql=SELECT%20%5BSystem.ID%5D%2C%20%5BSystem.Title%5D%2C%20%5BSystem.State%5D%20FROM%20WorkItems%20WHERE%20%5BSystem.TeamProject%5D%3D'FabrikamFiber'%20AND%20%5BSystem.WorkItemType%5D%3D'Bug'%20AND%20%5BSystem.AreaPath%5D%3D'FabrikamFiber%5CWeb'%20%20
Ad esempio, vedere la voce non codificata seguente.
http://fabrikam:8080/tfs/DefaultCollection/FabrikamFiber/_workitems?_a=query&wiql=
SELECT [System.ID], [System.Title], [System.State]
FROM WorkItems
WHERE [System.TeamProject]='FabrikamFiber'
AND [System.WorkItemType]='Bug'
AND [System.AreaPath]='FabrikamFiber\Web'
Procedure consigliate
Le procedure consigliate seguenti si applicano alle query seguenti che è possibile creare:
Creare query mirate e selettive
Definire una query altamente selettiva applicando tutti i filtri necessari per essa. Più selettiva è la query, più piccolo è il set di risultati. Più piccolo è il set di risultati, più mirato e selettivo è la query.
Usare i tag per classificare gli elementi di lavoro
Usare i tag degli elementi di lavoro per classificare gli elementi di lavoro anziché un campo personalizzato. Le query che filtrano i tag in genere eseguono più velocemente rispetto a quelle query che filtrano le corrispondenze di stringa.
Diversamente dalle corrispondenze di campi personalizzati o parziali, una query con un'operazione Tags Contains
non richiede un'analisi completa di tutte le tabelle degli elementi di lavoro.
Usare Contains words
per le corrispondenze di stringhe
Per filtrare in base a una corrispondenza di stringa, usare invece Contains Words
dell'operatore Contains
. L'operatore Contains Words
esegue una ricerca full-text sul campo specificato, che tende a completare più rapidamente.
L'operatore Contains
esegue un'analisi di tabella, che è un'operazione più lenta rispetto all'operatore Contains Words
. Usa anche più cicli di CPU. Questi cicli della CPU possono causare limitazioni di velocità. Per altre informazioni, vedere Limiti di frequenza e utilizzo.
Specificare gruppi di piccole dimensioni con l'operatore In Group
L'operatore In Group
filtra gli elementi di lavoro in base alle corrispondenze all'interno di un gruppo di valori. Il gruppo di valori corrisponde ai valori contenuti all'interno di un team, di un gruppo di sicurezza o di una categoria di rilevamento del lavoro. Ad esempio, è possibile creare una query per trovare tutti gli elementi di lavoro assegnati a qualsiasi membro di un team. In alternativa, trovare tutti gli elementi di lavoro che appartengono alla categoria dei requisiti (Microsoft.RequirementCategory
).
Quando si filtra un gruppo che contiene un numero elevato di membri, il set di risultati tende a essere più grande e non selettivo. Inoltre, se un gruppo corrisponde a un gruppo Microsoft Entra di grandi dimensioni, la query genera un costo piuttosto elevato per risolvere tale gruppo dall'ID Microsoft Entra.
Evitare l'uso di operatori negati
Gli operatori negati, ad esempio <>, Not In, Not Under, Not In Group
, tendono a generare query non selettive e set di risultati di grandi dimensioni.
Usare solo operatori negati quando necessario. Cercare sempre di trovare le alternative per prime. Ad esempio, se Field1 ha valori A, B, C, D; specificare la Field1 In A, B, C
clausola anziché la clausola negata Field1 <> D
.
Evitare confronti tra stringhe
Le query che contengono confronti tra stringhe generano analisi di tabella intrinsecamente inefficienti. È invece consigliabile usare tag o un campo personalizzato specifico come alternative, in particolare quando una query ha prestazioni scarse.
Limita operatori Or
Limitare il numero di Or
operatori definiti nella query. Le query vengono eseguite meglio quando vengono usati meno Or
operatori. Troppi Or
operatori possono rendere la query non selettiva. Se la query viene eseguita lentamente, riordinare la clausola operatore Or
verso l'inizio delle clausole della query.
Salva la query
A causa delle ottimizzazioni interne, le query salvate tendono a ottenere prestazioni migliori rispetto alle query non salvate. Salva sempre la query quando prevedi di riutilizzarla. Anche per le query WIQL eseguite tramite un'API REST, salvare WIQL tramite il portale web per effettuare chiamate all'API REST, in modo che siano meno soggette a regressioni delle prestazioni in futuro.
Esegui la query
A volte è necessario eseguire la query alcune volte per raggiungere il piano di ottimizzazione corretto. Assicurarsi di salvare la query ed eseguirla fino a 10 volte in un periodo di 30 minuti. In questo modo, il sistema può esaminare e cercare il piano di ottimizzazione più appropriato per la query.