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

  • Livelli di accesso:
    • Per visualizzare ed eseguire query condivise, occorre essere un membro del progetto .
    • Per aggiungere e salvare una query condivisa, è necessario avere almeno accesso di livello Basic.
  • Autorizzazioni: Avere l'autorizzazione Contributo impostata 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 .

  • Livelli di accesso:
    • Per visualizzare ed eseguire query condivise, è necessario essere un membro del progetto .
    • Per aggiungere e salvare una query condivisa, è necessario disporre di almeno accesso di base.
  • Autorizzazioni: disporre dell'autorizzazione Collaborazione impostata su Consenti per la cartella a cui si vuole aggiungere la 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


Rtf (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 elemento di lavoro e @Project2, valido con il campo Progetto team.


ID

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


Campi Tipo di elemento di lavoro e stato

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, non contiene, in, non in, group, not in group not in group, was ever **Macros**:[Any]' valid with entrambi i campi.


Nota

  1. Gli Is Empty operatori e Is Not Empty sono supportati per 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 Query 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 usa l'indicizzazione full-text 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 nel loro gambo comune (ad esempio, corsa, corsa e runner verrebbero convertite in "run", perché sono tutte varianti su tale 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 con parole chiave o frasi con caratteri jolly

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

Editor per la query elenco flat per filtrare le parole chiave.

Scegliere Contiene o Non contiene per cercare corrispondenze esatte o parziali di una parola o di una frase. Scegliere Contiene parole o Non contiene parole da cercare in base a una frase esatta o usare il carattere jolly * . Questi operatori usano l'indice di ricerca full-text.

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

Usare il carattere jolly con Contiene parole.

Suggerimento

Per informazioni sul AND/OR raggruppamento delle clausole, vedere Creare e salvare query gestite, clausole Group. 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 e non per altri

Utilizzare Contiene parole e non contiene operatori di 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 delle Editor di 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 sul valore del campo non definito

È 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 in base alle voci vuote

Per elencare gli elementi di lavoro in base a un campo che non è vuoto, usare l'operatore <> 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'inserimento di elementi di lavoro con campi RTF 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 eseguire 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à, farlo nella pagina Community degli sviluppatori, Essere in grado di cercare tag vuoti.

Query basate su 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 Elemento backlog 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à. Vedere 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.

Eseguire una query 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 si stanno seguendo insieme ad altri filtri di query.

Ad esempio, la query seguente mostra come eseguire query in tutti i progetti per gli elementi di lavoro attivi che si stanno seguendo. Usare il campo ID e l'operatore In con la macro @Follows .

Editor di query con ID Nella clausola di query @Follows

Query per l'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 a cui è stato aggiunto 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 long-text con un tipo di dati di campi PlainText e HTML per la ricerca full-text. Sono inclusi i campi Titolo, Descrizione e Passaggi da riprovare . Per altre informazioni e requisiti di regole di confronto e server applicabili ad Azure DevOps 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, Feature, Product backlog item (Scrum)

Descrizione 1, 2

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

Reference name=System.Description, Data type=HTML

Tutte le date

ID

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.

Reference name=System.Id, Data type=Integer

Tutte le date

Passaggi di riproduzione (o passaggi da 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

Bug

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 in elementi in uno o più progetti. Per altre informazioni, vedere Query di esempio, eseguire query tra progetti.

Reference name=System.TeamProject, Data type=String

Tutte le date

Title

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

Tutte le date

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: