Eseguire query in base alla data o all'iterazione corrente in Azure Boards

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 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.

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

=, <>, in, non in
Macro: @CurrentIteration1 e@CurrentIteration +/- n 2 valide con il campo Percorso 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 @CurrentIteration +/- n macro è supportata per Azure DevOps Server 2019 e versioni successive. È supportato solo quando viene eseguito 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 Modello 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 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 è possibile includere nelle query e nei 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 informazioni sul AND/OR raggruppamento delle clausole, vedere Clausole group. 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

Includere 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 Editor di query per trovare gli elementi risolti oggi.


Elementi chiusi entro un periodo di tempo specificato.

Screenshot che mostra la clausola Editor di query per trovare elementi chiusi entro un periodo di tempo specificato.


Elementi non chiusi. La data chiusa è Null.

Screenshot che mostra la clausola Editor di query per la ricerca di elementi la cui data chiusa è vuota o null.


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 Editor di 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).

Nota

Richiede Azure DevOps Server 2019 Update 1 o versione successiva.

Filtro per

Includere queste clausole di query


Bug chiusi nelle ultime due settimane.

Screenshot che mostra la clausola Editor di query per trovare 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 nei tipi di elemento di lavoro a cui si applicano.

Creare query per l'iterazione corrente del team

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 in 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 del team quando si selezionano le macro @CurrentIteration o @CurrentIteration +/- n . Il parametro del team deriva dal contesto del team corrente.

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 Selezionare 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 scelta 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 .@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, sull'oggetto corrente e sui due sprint successivi selezionati per il team Di amministrazione e strumenti cloud.

Screenshot che mostra le clausole 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

Elencare gli elementi di lavoro definiti per uno sprint, ma successivamente spostati usando una query con una clausola che contiene l'operatore Was Ever per il campo Percorso iterazione. È possibile costruire questa query solo usando la sintassi WIQL. Modificare la sintassi WIQL in Editor di query installando l'estensione Marketplace dell'editor WIQL.

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 area del team Web di Fabrikam Fiber.
  • Gli elementi di lavoro non sono in Closeduno stato , Completed, Cuto 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]

Viene visualizzata la Editor di query visualizzazione della sintassi 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 mostra Editor di query elementi di lavoro 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 Editor di query elementi di lavoro 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 Percorso data e iterazione

Usare i campi Data per filtrare le query. Alcuni di questi campi vengono popolati con informazioni come avanzamento di un elemento di lavoro 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, Epic, Feature, Issue, Product Backlog Item, Requirement, Review, Risk, Shared Step, Task, Test Case, User Story

Modifica data

Data e ora di modifica di un elemento di lavoro.

Reference name=System.ChangedDate, Data type=DateTime

Tutte le date

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

Tutte le date

Data creazione

Data e ora di creazione di un elemento di lavoro.

Reference name=System.CreatedDate, Data type=DateTime

Tutte le date

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

Iteration Path

Raggruppa gli elementi di lavoro denominati sprint 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

Tutte le date

Data risolta (note 1 e 2)

Data e ora di spostamento dell'elemento di lavoro in Resolved uno stato.

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

Bug, Change Request, Epic, Feature, Issue, Product Backlog Item, Requirement, Review, Risk, Shared Step, Task, Test Case, User Story

Data inizio (nota 3)

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

Nota

I piani di recapito usano i campi Data di inizio e Data di destinazione 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

Epic, Feature, Requirement, Task, Test Plan, User Story

Data modifica stato

Data e ora di modifica del valore del campo Stato .

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

Tutte le date

Data prevista

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

Nota

I piani di recapito usano i campi Data di inizio e Data di destinazione per visualizzare l'intervallo di funzionalità, epiche e altri elementi di backlog del portfolio.

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

Epic, Feature

Note:

  1. Vedere anche Eseguire query per assegnazione o modifiche al 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: