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.
È 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: @CurrentIteration
1 e@CurrentIteration +/- n
2 valide con il campo Percorso iterazione.
Note:
- Le
@StartOfDay
macro ,@StartOfWeek
,@StartOfMonth
e@StartOfYear
sono supportate per Azure DevOps Server 2019.1 e versioni successive. Sono supportati solo quando vengono eseguiti dal portale Web. - 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.
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.
Elementi modificati in una data specifica.
Elementi risolti oggi.
Elementi chiusi entro un periodo di tempo specificato.
Elementi non chiusi. La data chiusa è Null.
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.
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.
Elementi modificati negli ultimi 10 giorni.
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.
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 .
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.
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
Closed
uno stato ,Completed
,Cut
oResolved
. - 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.
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
.
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
, Completed
o 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:
Vedere anche Eseguire query per assegnazione o modifiche al flusso di lavoro.
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 laFIELDS
transizione a unoResolved
stato.<FIELD refname="Microsoft.VSTS.Common.ResolvedDate" /> <SERVERDEFAULT from="clock" /> </FIELD >
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:
- Piani di recapito
- Estensioni del Marketplace come Project Connect o diagramma di GANTT
Articoli correlati
- Eseguire query in base alle modifiche di assegnazione o flusso di lavoro
- Definire i percorsi di iterazione (sprint) e configurare le iterazioni del team
- Definire una query dell'elemento di lavoro in Azure Boards
- Campi di query, operatori e macro
- Campi e attributi degli elementi di lavoro
- Sintassi WIQL (Work Item Query Language)
REST API
Per interagire a livello di codice con le query, vedere una delle risorse dell'API REST seguenti: