Condividi tramite


Esegui query per titoli, ID e campi di testo ricco

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Quando si desidera trovare elementi di lavoro basati su una parola chiave o una frase o un campo di testo Null, è possibile filtrare in base a testo a riga singola (String), testo a più righe (testo non crittografato) e rtf (HTML). Se ritieni che le query richiedano troppo tempo per restituire i risultati, consulta Creare una query, Procedure consigliate.

Prerequisiti

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 Il set di autorizzazioni di Contribute è impostato su Consenti per la cartella a cui si desidera aggiungere una query. Per impostazione predefinita, il gruppo Collaboratori non dispone di questa autorizzazione.

Nota

Gli utenti con accesso Stakeholder per un progetto pubblico hanno accesso completo alle funzionalità di query proprio come gli utenti con accesso Basic. Per ulteriori informazioni, vedere la guida rapida sull'accesso degli stakeholder .

Categoria Requisiti
livelli di accesso - Per visualizzare ed eseguire query condivise: membro del progetto.
- Per aggiungere e salvare una query condivisa: almeno l'accesso di base.
autorizzazioni Il set di autorizzazioni di Contribute è impostato su Consenti per la cartella a cui si desidera aggiungere una query. Per impostazione predefinita, il gruppo Collaboratori non dispone di questa autorizzazione.

Operatori e macro supportati

Le clausole di query che specificano un campo di testo o RTF possono usare gli operatori e le macro elencate nella tabella seguente.


Tipo di dati

Operatori e macro supportati


Testo arricchito (HTML)
Stringhe di testo a più righe (Testo normale)

Contains Words, Does Not Contain Words, Is Empty1, Is Not Empty1


Testo singolo (stringa)

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, Does Not Contain, In, Not In, In Group, Not In Group, Was Ever Macro: [Any], valido con il campo Tipo di Elemento di Lavoro e @Project2, valido con il campo Progetto del Team.


ID

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever Macro: @Follows, @MyRecentActivity, @RecentMentions, @RecentProjectActivity validi con il campo ID e InNot In operatori @Project2, validi con il campo Team Project.


Stato e Tipo di elemento di lavoro

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contiene, non contiene, in, non in, nel gruppo, non nel gruppo, è mai stato **Macros**:[Qualsiasi] valido con entrambi i campi.


Nota

  1. Gli operatori Is Empty e Is Not Empty sono supportati a partire da Azure DevOps Server 2019 RC2 e versioni successive
  2. Per impostazione predefinita, il sistema applica automaticamente il filtro in base al progetto corrente. Per altre informazioni, vedere Interrogazioni tra progetti.

Usare Contains words per le corrispondenze di stringa

Quando si vuole filtrare in base a una corrispondenza di stringa, provare a usare l'operatore Contains Words anziché Contains. L'operatore Contains Words esegue una ricerca full-text nel campo specificato, più veloce nella maggior parte dei casi. La stringa di testo è limitata a 100 caratteri.

Mentre l'operatore esegue un'analisi Contains di tabella, che non è solo più lenta, ma usa anche più cicli di CPU. Questi cicli della CPU contribuiscono al limite di velocità di utilizzo delle risorse.

Nota

L'operatore Contains Words utilizza l'indicizzazione full-text search di SQL. Quando un nuovo valore viene salvato in un campo long-text, SQL Server:

  • Dividere la frase in singole parole
  • Rimuovere tutte le parole comuni che non aggiungono realmente valore a una ricerca (ad esempio "a" o "is" in inglese)
  • Convertire le parole nella loro radice comune (ad esempio, correre, corso e corridore verrebbero convertiti in "correre", poiché sono tutte varianti su quella parola)
  • Archiviare queste parole chiave univoche in un indice.

Quando un utente esegue una query su questo campo usando l'operatore Contains Words , la ricerca verrà eseguita sulle parole chiave univoche archiviate nell'indice. Per i campi di testo lungo, questa operazione rende la ricerca molto più efficiente e veloce rispetto all'esecuzione di una ricerca di sottostringa. Per impostazione predefinita, SQL definisce una "parola" come set di caratteri tra punteggiatura. Ad esempio, i punti indicano la fine di una parola, ma il punto non viene considerato parte della parola. Poiché l'indice di ricerca full-text contiene parole chiave anziché frasi esatte, si otterranno tutti i risultati che contengono le stesse parole chiave, come determinato dall'indicizzazione.

Query di parole chiave o frasi di ricerca con caratteri jolly

Utilizzare Contains o Contains Words per elencare elementi che corrispondono parzialmente o esattamente alle parole o alla frase immesse.

Editor della query di elenco piatto per il filtraggio di parole chiave.

Scegliere Contiene o Non contiene per cercare corrispondenze esatte o parziali di una parola o di una frase. Scegli Contiene parole o Non contiene parole per cercare una frase esatta o utilizzare il carattere jolly, *. Questi operatori usano l'indice di ricerca full-text.

Ad esempio, specificare Contiene parole e inform* per filtrare in base a un campo di testo contenente inform o informazioni o informational.

Usare il carattere jolly con Contiene Parole.

Suggerimento

Per comprendere come sono raggruppate le clausole AND/OR, vedere Creare e salvare le query gestite, clausole di gruppo. Per visualizzare la sintassi WIQL per una query, installare l'estensione dell'editor di query WIQL che consente di visualizzare la versione WIQL di qualsiasi voce dell'editor di query.

Eseguire una query per parole specifiche escludendo altre

Utilizzare gli operatori Contiene Parole e Non Contiene Parole per elencare gli elementi che corrispondono esattamente alle parole o alle frasi immesse ed escludere altre parole o frasi. È possibile usare questi operatori in combinazione e con il carattere jolly (*).

Nell'esempio seguente, questi operatori filtrano gli elementi di lavoro per gli elementi che contengono la fase di lavoro, ma non la parola Phasor.

Screenshot dell'Editor delle query per includere ed escludere parole esatte.

Nota

Alcune parole riservate in SQL, ad esempio WHERE, THENe AND, non restituiscono risultati quando vengono usati come termini di ricerca autonomi con i filtri Contains Words o Does Not Contain Words.

Query sui valori di campi non definiti

È possibile trovare elementi di lavoro con un valore di campo non definito usando l'operatore = equals e lasciando vuoto il valore Value per il campo. Ad esempio, i filtri seguenti elencano tutti gli elementi di lavoro di tipo Task il cui campo Attività è vuoto.

Filtrare basato su voci vuote

Per elencare gli elementi di lavoro in base a un campo che non è vuoto, usare l'operatore non e lasciare vuoto il valore.

Query di campo HTML vuote o non vuote

È possibile trovare elementi di lavoro con descrizionivuote. L'uso di Is Empty o Is Not Empty con un campo HTML supporta l'elenco di elementi di lavoro con campi di testo arricchito vuoti o non vuoti. Non si specifica un valore con questo operatore.

Ad esempio, i filtri di query seguenti elencano tutti gli elementi di lavoro con alcune voci di campo Descrizione .

Filtrare i campi HTML non vuoti

Filtrare i caratteri speciali

Per filtrare un URL o una frase contenente caratteri speciali come / o -, utilizzare una barra rovesciata per fare l'escape di questi caratteri. Gli esempi seguenti illustrano come filtrare un URL e una frase con un trattino:

  • Filtro per un URL: cercare un titolo dell'elemento di lavoro che include la frase https://example.com/path-to-resource.

    • Query: Title ~ "https:\/\/example.com\/path-to-resource"
    • Risultati: restituisce tutti gli elementi di lavoro con l'URL esatto nel campo specificato.
  • Filtrare per una frase con un trattino: cercare un titolo dell'elemento di lavoro che include "your-phrase-with-dash".

    • Query: Title ~ "feature-update\-2023"
    • Risultati: restituisce tutti gli elementi di lavoro che contengono la frase esatta con trattini nel campo specificato.

Nota

Non è possibile eseguire query per gli elementi di lavoro a cui non sono associati tag. Per votare questa richiesta di funzionalità, puoi farlo nella pagina della nostra Community degli Sviluppatori, Essere in grado di cercare tag vuoti.

Query basate sulle categorie

Per filtrare gli elementi di lavoro in base alla categoria a cui appartengono, usare l'operatore In Group . Ad esempio, i criteri di filtro seguenti restituiscono tutti gli elementi di lavoro presenti nel progetto corrente, assegnati al membro del team e definiti come appartenenti alla categoria di bug.

Clausola di query per trovare gli elementi di lavoro per categoria

Quali elementi vengono visualizzati nelle categorie Requisito o Attività?

Le assegnazioni predefinite dei tipi di elementi di lavoro per ogni categoria sono elencate di seguito per ogni processo.

Processo Categoria di requisiti Categoria attività
Di base Problema Attività
Agile Storia utente Attività
Scrum (metodologia agile) Elemento del backlog di prodotto, bug Attività
CMMI Requisito Attività

Ogni team può determinare se il tipo di elemento di lavoro Bug viene visualizzato nella categoria Requisito o Attività. Vedi Mostra bug nei backlog e nelle bacheche. È possibile aggiungere tipi di elementi di lavoro personalizzati a un backlog. Per altre informazioni, vedere Aggiungere o modificare un tipo di elemento di lavoro, Aggiungere un WIT personalizzato a un backlog o a una scheda.

Effettuare una ricerca per gli elementi di lavoro che si stanno seguendo

È possibile usare la macro @Follows per filtrare un elenco in base agli elementi di lavoro che segui insieme ad altri filtri di query.

Ad esempio, la query seguente mostra come effettuare query su tutti i progetti per gli elementi di lavoro attivi che stai seguendo. Usi il campo ID e l'operatore In con il macro @Follows.

Editor di query, con ID nella clausola di query @Follows

Query sull'attività recente dell'elemento di lavoro

È possibile utilizzare le macro seguenti per elencare gli elementi di lavoro in base all'attività recente:

  • @MyRecentActivity: elenca gli elementi visualizzati o modificati di recente.
  • @RecentMentions: Elementi dell'elenco in cui sei stato menzionato tramite un @mention negli ultimi 30 giorni.
  • @RecentProjectActivity: elencare gli elementi creati o modificati di recente nel progetto.

Specificare il campo ID e gli operatori In o Not In .

Ad esempio, la query seguente mostra come eseguire una query per gli elementi di lavoro visualizzati o modificati di recente.

Editor di query con ID Nella clausola di query @MyRecentActivity

Campi comuni per la maggior parte dei tipi di elementi di lavoro

Nella tabella seguente vengono descritti i campi comuni usati per filtrare le query. I campi ID identificano in modo univoco gli elementi di lavoro in un elenco. Utilizzare il campo Titolo per distinguere l'elemento di lavoro da tutti gli altri dello stesso tipo. I campi Description e altri campi rich-text (data type=HTML) forniscono informazioni aggiuntive necessarie per implementare le modifiche di lavoro e tenere traccia delle modifiche. Dopo aver creato un elemento di lavoro, è possibile modificare tutti i campi ad eccezione dell'ID. Quando si aggiunge e salva un elemento di lavoro, l'ID viene assegnato dal sistema e non può essere modificato.

Nota

Il sistema indicizza automaticamente tutti i campi di testo lungo con un tipo di dati PlainText e HTML per la ricerca a testo completo. Sono inclusi i campi Titolo, Descrizione e Passaggi per riprodurre. Per ulteriori informazioni e requisiti di server e di regole di confronto applicabili ad Azure DevOps installato in locale, vedere Campi di query, operatori, valori e variabili - Ricerche full-text e parziali di parole.

Nome campo

Descrizione

Tipo di elemento di lavoro


Criteri di accettazione 1

Descrizione dei criteri da soddisfare prima che l'elemento di bug o di backlog del prodotto possa essere chiuso.

Prima di iniziare il lavoro su un elemento di bug o backlog del prodotto, i criteri per l'accettazione dei clienti devono essere descritti il più chiaramente possibile. Le conversazioni tra il team e i clienti per definire i criteri di accettazione consentono al team di comprendere le aspettative dei clienti. I criteri di accettazione possono essere utilizzati come base per i test di accettazione in modo da poter valutare in modo più efficace se un elemento è completato in modo soddisfacente.

Nome di riferimento=Microsoft.VSTS.Common.AcceptanceCriteria, Data type=HTML

Bug, Epic, Funzionalità, Elemento del backlog di prodotto (Scrum)

Descrizione 1, 2

Utilizzare questo campo per fornire informazioni approfondite su un elemento di lavoro.

Reference name=System.Description, Data type=HTML

Tutti

Identificativo

Identificatore univoco assegnato a un elemento di lavoro. Gli ID elemento di lavoro sono univoci in tutti i progetti e all'interno di una raccolta di progetti.

Nome di riferimento=System.Id, Tipo di dato=Intero

Tutto

Passaggi per riprodurre (o passaggi da eseguire per riprodurre) 1

Passaggi necessari per riprodurre un comportamento imprevisto. Acquisire informazioni sufficienti in modo che altri membri del team possano comprendere l'effetto completo del problema e se hanno risolto il bug. Questa voce include azioni eseguite per trovare o riprodurre il bug e il comportamento previsto.
Nome di riferimento=Microsoft.VSTS.TCM.ReproSteps, Data type=HTML

Errore

Risoluzione

Descrive come è stato risolto un ostacolo.

Nome di riferimento=Microsoft.VSTS.Common.Resolution, Tipo di dati=HTML

Ostacoli (Scrum)

Informazionidi sistema 1

Informazioni sulla configurazione del software e del sistema rilevanti per il bug, la revisione del codice o il feedback.

Nome di riferimento=Microsoft.VSTS.TCM.SystemInfo, Tipo di dati=HTML

Bug, richiesta di revisione del codice, richiesta di feedback

Team di progetto

Progetto a cui appartiene un elemento di lavoro. Aggiungere questo campo a una query quando si desidera filtrare l'elenco agli elementi di uno o più progetti. Per ulteriori informazioni, consulta Query di esempio, query tra progetti.

Reference name=System.TeamProject, Data type=String

Tutti

Titolo

Breve descrizione che riepiloga l'elemento di lavoro e aiuta i membri del team a distinguerlo da altri elementi di lavoro in un elenco.

Reference name=System.Title, Data type=String

Tutte le date

Tipo di elemento di lavoro

Nome del tipo di elemento di lavoro. I tipi di elemento di lavoro vengono definiti in base al processo usato durante la creazione del progetto. Per altre informazioni, vedere Informazioni sui processi e sui modelli di processo e Aggiungere o modificare un tipo di elemento di lavoro.

Per filtrare gli elementi di lavoro in base all'assegnazione di categoria, è possibile usare gli operatori In gruppo e Non in gruppo e selezionare una categoria dall'elenco a discesa.

Reference name=System.WorkItemType, Data type=String

Tutti

Nota

Dopo l'aggiornamento a Team Foundation Server 2012, il campo Descrizione è stato modificato da un tipo di campo PlainText a HTML. Usando il comando witadmin changefield è possibile ripristinare il tipo di dati per questo campo. Vedere Gestire i campi dell'elemento di lavoro (witadmin).

REST API

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