Condividi tramite


Query per data specifica o iterazione corrente

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

Questo articolo illustra come elencare gli elementi di lavoro in base a quando sono stati creati, chiusi, risolti o modificati. È possibile specificare una data o utilizzare una macro supportata. Utilizzare la @Today macro e specificare un numero di giorni più o meno per le date relative. Per le query che elencano gli elementi di lavoro in base all'assegnazione allo sprint corrente di un team, usare @CurrentIteration.

Ad esempio, trovare gli elementi di lavoro modificati negli ultimi tre giorni con la query seguente.

Screenshot che mostra l'Editor di query che mostra il campo Data Modificata impostato su >= 3.

È anche possibile usare la CurrentIteration +/- _n_ macro per creare query basate su una finestra scorrevole delle iterazioni del team.

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 Permesso di Contributo impostato su Consenti per la cartella alla quale si desidera aggiungere una query. Per impostazione predefinita, il gruppo Collaboratori non dispone di questa autorizzazione.

Nota

Gli utenti con accesso Stakeholder a un progetto pubblico hanno pieno accesso alle funzionalità di query, proprio come gli utenti con accesso Basic. Per ulteriori informazioni, vedere Riferimento rapido per l'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 accesso di base.
autorizzazioni Il set di autorizzazioni 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 DateTime o il campo Percorso iterazione possono usare gli operatori e le macro elencate nella tabella seguente.


Tipo di dati

Operatori e macro supportati


Data/Ora

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever

Macro: @StartOfDay, @StartOfWeek, @StartOfMonth, @StartOfYear, e @Today. È possibile usare +/- _n_ con ognuna delle macro supportate.


TreePath

=, <>, sotto, non sotto
Macro: @CurrentIteration1 e @CurrentIteration +/- n2 validi con il campo Iterazione.


Note:

  1. Le @StartOfDaymacro , @StartOfWeek, @StartOfMonthe @StartOfYear sono supportate per Azure DevOps Server 2019.1 e versioni successive. Sono supportati solo quando vengono eseguiti dal portale Web.
  2. La macro @CurrentIteration +/- n è supportata per Azure DevOps Server 2019 e versioni successive ed è supportata solo quando viene eseguita dal portale Web.

Suggerimento

L'operatore WasEver può essere usato con il campo Percorso Iterazione, ma solo se definito tramite la sintassi WIQL. Per un esempio, vedere Informazioni di riferimento sulla sintassi WIQL (Work Item Query Language).

Modello di data e ora

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

Screenshot che mostra le opzioni dell'elenco a discesa Modello di data nel riquadro Ora e impostazioni locali. Screenshot che mostra le opzioni dell'elenco a discesa Modello di tempo nel riquadro Ora e impostazioni locali.

Screenshot che mostra il riquadro Ora e Impostazioni locali con i campi Formato di Data e Ora.

Restrizioni client sull'uso delle @CurrentIteration macro

È possibile usare la @CurrentIteration macro in una query dai client seguenti:

  • Portale Web che si connette ad Azure Boards
  • Visual Studio 2019 o versioni successive connesse ad Azure Boards
  • API REST

È possibile usare la @CurrentIteration +/- n macro in una query su Azure Boards, Azure DevOps Server 2019 e versioni successive e con un'API REST che include il team come parametro. Un esempio è @CurrentIteration('[Project]\Team').

Si verifica un errore se si apre una query contenente la @CurrentIteration macro nelle versioni precedenti di Visual Studio o da Microsoft Excel o Microsoft Project. Inoltre, non è possibile usare la macro durante la copia o la clonazione di gruppi di test e test case, la definizione di avvisi o con le API REST.

Query basate su data

Filtrare gli elementi di lavoro in base alla data in cui sono stati modificati o per un periodo di tempo specifico. Limitare l'ambito della tua query. Questo approccio consente di ottenere prestazioni solo restituendo risultati che rientrano nell'intervallo di date incluso. Se non si ha familiarità con la creazione di query, vedere Definire una query sugli elementi di lavoro.

Non tutti i campi sono validi per tutti i tipi di elemento di lavoro. Passare ai campi data per il set di campi che puoi includere nelle query e ai tipi di elemento di lavoro a cui si applicano.

Suggerimento

  • Ricordarsi di immettere le date nel campo Modello di data impostato per il profilo personale.
  • Per capire come vengono raggruppate le clausole AND/OR, vedi Clausole di raggruppamento. Per visualizzare la sintassi WIQL per una query, installare l'estensione dell'editor WIQL, che consente di visualizzare la versione WIQL di qualsiasi voce di Editor di query.

Filtro per

Includi queste clausole di query


Elementi creati negli ultimi 30 giorni.

Screenshot che mostra la clausola Editor di query per trovare gli elementi creati negli ultimi 30 giorni.


Elementi modificati in una data specifica.

Screenshot che mostra la clausola Editor di query per trovare gli elementi modificati in una data specifica.


Elementi risolti oggi.

Screenshot che mostra la clausola nel Query Editor per trovare gli elementi risolti oggi.


Elementi chiusi entro un periodo di tempo specificato.

Screenshot che illustra la clausola dell'Editor delle query per trovare elementi chiusi entro un periodo di tempo specificato.


Elementi non chiusi. La data di chiusura è nulla.

Screenshot che mostra la clausola dell'Editor delle query per la ricerca di elementi la cui data di chiusura è vuota o nulla.


Elementi il cui stato è stato aggiornato nell'ultima settimana.

Screenshot che mostra la clausola Editor di query per gli elementi il cui stato è stato aggiornato nell'ultima settimana.


Elementi chiusi durante lo sprint corrente. La <xref href="CurrentIteration" data-throw-if-not-resolved="False" data-raw-source="@CurrentIteration"></xref> macro fa riferimento allo sprint definito per il contesto del team corrente.

Screenshot che mostra la clausola dell'Editor delle query per gli elementi chiusi durante lo sprint corrente.


Creare query basate su data di inizio giorno, settimana, mese o anno

Negli esempi seguenti viene illustrato come utilizzare le StartOf... macro per filtrare gli elementi di lavoro con vari offset. Per altre informazioni, vedere sintassi WIQL (Work Item Query Language).

Filtro per

Includere queste clausole di query


Bugs chiusi nelle ultime due settimane.

Screenshot che mostra la clausola dell'Editor di query per trovare i bug chiusi nelle ultime due settimane.


Elementi modificati negli ultimi 10 giorni.

Screenshot che mostra le clausole Editor di query per trovare gli elementi modificati negli ultimi 10 giorni.


Funzionalità pianificate per essere completate nei prossimi tre mesi.

Screenshot che mostra le clausole Editor di query per le funzionalità pianificate per essere completate nei prossimi tre mesi.


Non tutti i campi sono validi per tutti i tipi di elemento di lavoro. Passare ai campi data per il set di campi che è possibile includere nelle query e ai tipi di elemento di lavoro a cui si applicano.

Crea query per l'iterazione corrente della tua squadra

Se il team segue i processi Scrum, è necessario pianificare il lavoro da completare negli sprint. È possibile tenere traccia dello stato di avanzamento dei requisiti, dei bug e di altri lavori da completare nello sprint corrente usando la @CurrentIteration macro. Per altre informazioni, vedere Gestire le sequenze temporali dello sprint.

La query trova qualsiasi elemento assegnato a uno sprint che corrisponde al percorso di iterazione corrente per il team. Ad esempio, se un team si trova nello Sprint 5, la query restituisce gli elementi assegnati allo Sprint 5. Successivamente, quando il team lavora sullo Sprint 6, la stessa query restituisce gli elementi assegnati allo Sprint 6.

Nota

Affinché la @CurrentIteration macro funzioni, il team deve aver selezionato un percorso di iterazione il cui intervallo di date include la data corrente. Per altre informazioni, vedere Selezionare gli sprint del team e impostare il percorso di iterazione predefinito. Inoltre, le query che contengono questa macro sono valide solo quando vengono eseguite dal portale Web.

Vedere anche Client restrictions on the use of the @CurrentIteration macros in precedenza in questo articolo.

Azure Boards aggiunge un parametro per il team quando selezioni le macro @CurrentIteration o @CurrentIteration +/- n. Il parametro del team deriva dal tuo attuale contesto di team.

Screenshot che mostra il filtro Query usando la macro CurrentIteration con il parametro team.

Suggerimento

Se la @CurrentIteration macro non funziona, verificare che l'iterazione prevista sia selezionata per il team e che siano state impostate le date. Per altre informazioni, vedere Seleziona gli sprint del team.

Per modificare il parametro del team impostato automaticamente dal sistema, selezionarlo immettendo il nome del team nel campo del parametro aggiunto sotto la macro @CurrentIteration .

Screenshot che mostra la selezione di un parametro del team.

Creare una finestra temporale scorrevole della query di iterazione del team

Usare la @CurrentIteration +/- n macro quando si vuole tenere traccia del lavoro pianificato per gli sprint futuri e per comprendere il lavoro che non è stato completato negli sprint precedenti.

Nota

Affinché la @CurrentIteration +/- n macro funzioni, il team deve aver selezionato percorsi di iterazione che soddisfano i +/- n criteri. Gli intervalli di date devono includere la data corrente per il @CurrentIteration. Per altre informazioni sulla selezione del team dei percorsi di iterazione, vedere Selezionare gli sprint del team e impostare il percorso di iterazione predefinito.

Vedere anche Client restrictions on the use of the @CurrentIteration macros in precedenza in questo articolo.

L'immagine seguente mostra come elencare tutti i tipi di elemento di lavoro Storia utente e Bug assegnati alla finestra scorrevole. La finestra si estende sugli ultimi due, sul corrente e sui due sprint successivi selezionati per il team di Amministrazione e Strumenti Cloud.

Screenshot che mostra le clausole di CurrentIteration più e meno.

Per utilizzare questa macro, il team specificato deve selezionare un set di sprint che si estendono sul +/- n valore immesso per la macro.

Elencare gli elementi di lavoro spostati da uno sprint

Elenca gli elementi di lavoro che sono stati definiti per uno sprint ma successivamente spostati utilizzando una query con una clausola che contiene l'operatore Was Ever per il campo Percorso di Iterazione. È possibile costruire questa query solo usando la sintassi WIQL. Modifica la sintassi WIQL nell'Editor di Query installando l'estensione del Marketplace WIQL Editor.

Ad esempio, le query di sintassi seguenti per gli elementi di lavoro soddisfano i criteri seguenti:

  • Definito nel progetto corrente.
  • Il tipo di elemento di lavoro è uguale a Storia utente o Bug.
  • Gli elementi di lavoro si trovano nel percorso dell'area del team web di Fabrikam Fiber.
  • Gli elementi di lavoro non sono in Closed, Completed, Cut o Resolved.
  • Non nel percorso di iterazione corrente per il team Web di Fabrikam Fiber.
  • Sono stati assegnati al percorso di iterazione corrente per il team Web di Fabrikam Fiber.
  • Vengono ora assegnati all'iterazione corrente +1 per il team Web di Fabrikam Fiber.
  • Sono state modificate negli ultimi 30 giorni (la lunghezza dello sprint).
SELECT
    [System.Id],
    [System.WorkItemType],
    [System.AssignedTo],
    [System.Title],
    [System.State],
    [System.Tags],
    [System.IterationPath],
    [System.AreaPath]
FROM workitems
WHERE
    [System.TeamProject] = @project
    AND [System.WorkItemType] IN ('User Story', 'Bug')
    AND [System.AreaPath] UNDER 'FabrikamFiber\Web'
    AND NOT [System.State] IN ('Completed', 'Closed', 'Cut', 'Resolved')
    AND NOT [System.IterationPath] = @currentIteration('[FabrikamFiber]\Web <id:cdf5e823-1179-4503-9fb1-a45e2c1bc6d4>')
    AND (
        EVER (
            [System.IterationPath] = @currentIteration('[FabrikamFiber]\Web <id:cdf5e823-1179-4503-9fb1-a45e2c1bc6d4>')
        )
        AND [System.IterationPath] = @currentIteration('[FabrikamFiber]\Web <id:cdf5e823-1179-4503-9fb1-a45e2c1bc6d4>') + 1
        AND [System.ChangedDate] >= @today - 30
    )
ORDER BY [System.Id]

La vista dell'Editor di query della sintassi appare come illustrato.

Nota

Il Editor di query visualizza un'icona di informazioni accanto all'operatoreWas Ever, che indica un problema con la clausola . Tuttavia, la query viene comunque eseguita ed è possibile creare grafici di query. Per modificare la query, è necessario usare l'editor WIQL.

Screenshot che visualizza gli elementi di lavoro dell'Editor di query spostati da uno sprint.

Elencare gli elementi di lavoro aggiunti a uno sprint dopo la data di inizio

Per elencare gli elementi di lavoro appena creati aggiunti a uno sprint dopo la data di inizio, usare una query simile a quella illustrata nell'immagine seguente. Questa query funziona filtrando gli elementi di lavoro assegnati allo sprint corrente, ma creati dopo l'inizio della data dello sprint. Usare la clausola created Date = @Today - 28.

Screenshot che mostra gli elementi di lavoro dell'Editor delle query appena creati e aggiunti a uno sprint dopo la data di inizio.

Per altre opzioni per l'esecuzione di query su modifiche all'ambito dello sprint, vedere Modifica dell'ambito dello sprint.

Campi delle date e del percorso di iterazione

Utilizzare i campi Data per filtrare le query. Alcuni di questi campi vengono popolati con informazioni man mano che un elemento di lavoro avanza da uno stato a un altro. Molti di questi campi non vengono visualizzati nel modulo dell'elemento di lavoro, ma vengono rilevati per tali tipi di elemento di lavoro elencati nella tabella seguente.

Nome campo

Descrizione

Tipi di elemento di lavoro


Data attivata (note 1 e 2)

Data e ora in cui l'elemento di lavoro è stato creato o quando il relativo stato è stato modificato da Closed, Completedo Done a uno New stato o Active .

Nome di riferimento=Microsoft.VSTS.Common.ActivatedDate, Tipo di dati=DateTime

Bug, Change Request, Epico, Funzionalità, Problema, Elemento di Backlog del Prodotto, Requisito, Review, Rischio, Passo Condiviso, Compito, Caso di Test, Storia Utente

Modifica data

Data e ora di modifica di un elemento di lavoro.

Reference name=System.ChangedDate, Tipo di dati=DateTime

Tutti

Data di chiusura (nota 2)

Data e ora di chiusura di un elemento di lavoro.

Nome di riferimento=Microsoft.VSTS.Common.ClosedDate, Tipo di dati=DateTime

Tutti

Data di creazione

Data e ora di creazione di un elemento di lavoro.

Nome di riferimento=System.CreatedDate, Tipo di dato=DateTime

Tutti

Data di scadenza

Data di scadenza prevista per la risoluzione di un problema.

Nome di riferimento=Microsoft.VSTS.Scheduling.DueDate, Tipo di dati=DateTime

Problema (Agile)

Data fine (nota 3)

Data e ora in cui la pianificazione indica che l'attività è stata completata.

Nome di riferimento=Microsoft.VSTS.Scheduling.FinishDate, Tipo di dati=DateTime

Requisito, attività, piano di test, storia utente

Percorso di Iterazione

I gruppi raggruppano gli elementi di lavoro per sprint denominati o periodi di tempo. L'iterazione deve essere un nodo valido nella gerarchia del progetto. Si definiscono i percorsi di iterazione per un progetto e si selezionano i percorsi di iterazione per un team.

Reference name=System.IterationPath, Data type=TreePath

Tutti

Data di risoluzione (Note 1 e 2)

La data e l'ora in cui l'elemento di lavoro è stato spostato nello stato Resolved.

Nome di riferimento=Microsoft.VSTS.Common.ResolvedDate, Tipo di dati=DateTime

Bug, Richiesta di Modifica, Epic, Funzione, Problema, Elemento del Backlog di Prodotto, Requisito, Revisione, Rischio, Passo Condiviso, Attività, Caso di Test, Storia Utente

Data inizio (nota 3)

La data e l'ora di inizio della pianificazione indicano l'avvio dell'attività.

Nota

Piani di consegna usano i campi Data di inizio e Data obiettivo per visualizzare l'intervallo di funzionalità, epiche e altri elementi di backlog del portfolio.

Nome di riferimento=Microsoft.VSTS.Scheduling.StartDate, Tipo di dati=DateTime

Epico, Funzionalità, Requisito, Attività, Piano di Test, Storia Utente

Data di modifica stato

Data e ora di modifica del valore del campo Stato .

Nome di riferimento=Microsoft.VSTS.Common.StateChangeDate, Tipo di dati=DateTime

Tutto

Data prevista

Data in base alla quale una funzionalità, un elemento di lavoro o un problema deve essere completata o risolta.

Nota

Piani di Consegna usano i campi Data di Inizio e Data Obiettivo per visualizzare la durata di funzionalità, epiche, e gli altri elementi di backlog del portfolio.

Nome di riferimento=Microsoft.VSTS.Scheduling.TargetDate, Tipo di dati=DateTime

Epica, Funzionalità

Note:

  1. Consulta anche Interrogazioni per assegnazione o modifiche del flusso di lavoro.

  2. Affinché questi campi vengano definiti per un tipo di elemento di lavoro, devono essere inclusi nella WORKFLOW sezione della definizione del tipo di elemento di lavoro. Ad esempio, questa sintassi viene inclusa all'interno della definizione durante la FIELDS transizione a uno Resolved stato.

    <FIELD refname="Microsoft.VSTS.Common.ResolvedDate" />  
       <SERVERDEFAULT from="clock"  />  
    </FIELD >  
    
  3. I valori data di inizio e data di fine vengono calcolati se si crea un piano di progetto in Project e quindi si sincronizza il piano con le attività archiviate in Azure Boards. Questi campi potrebbero non essere visualizzati nel modulo dell'elemento di lavoro, ma vengono calcolati per gli elementi di backlog e le attività collegati agli elementi backlog. È possibile visualizzare i relativi valori di sola lettura nei risultati di una query o da Excel.

    Importante

    Integrazione di Microsoft Project e il TFSFieldMapping comando non sono supportati per:

    • Visual Studio 2019 e Azure DevOps Office Integration 2019.
    • Azure DevOps Server 2019 e versioni successive, tra cui Azure DevOps Services.

    Viene mantenuto il supporto completo per l'integrazione di Microsoft Excel, consentendo l'importazione in blocco e l'aggiornamento degli elementi di lavoro. Le alternative all'uso di Microsoft Project includono:

REST API

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