Abfragen nach Datum oder aktueller Iteration in Azure Boards

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Die @Today und @CurrentIteration Makros sind nützlich für das Auflisten von Arbeitselementen basierend auf relativen Datumsangaben oder deren Zuordnung zur aktuellen Iteration eines Teams. Zum Auflisten von Arbeitselementen basierend auf dem Erstellen, Schließen, Aufgelösten oder geänderten Zustand verwenden Sie @Today oder geben Sie Datumsangaben an. Für Abfragen, die Arbeitselemente basierend auf ihrer Zuordnung zu dem aktuellen Sprint eines Teams auflisten, verwenden Sie @CurrentIteration.

Sie können beispielsweise Arbeitselemente finden, die in den letzten drei Tagen mit der folgenden Abfrage geändert wurden.

Screenshot of Query Editor, Changed Date >= 3.

Editor query filter based on recent changes.

Außerdem können Sie das @CurrentIteration +/- n-Makro verwenden, um Abfragen basierend auf einem gleitenden Fenster von Team iterationen zu erstellen.

Unterstützte Operatoren und Makros

Abfrageklauseln, die ein DateTime-Feld oder den Iterationspfad angeben, können die Operatoren und Makros verwenden, die in der folgenden Tabelle aufgeführt sind.


Datentyp

Unterstützte Operatoren und Makros


DateTime

= , <>><<>= [Feld], ><<>>=[Feld], =[<Feld], In, Nicht in, war jemals
Makros: @StartOfDay, @StartOfWeek,@StartOfMonth, @StartOfYear und @Today; Jede dieser Makros kann mit einer +/- n-Ganzzahl angegeben werden.


TreePath

= , <> unter, nicht unter Makros: @CurrentIteration2 und @CurrentIteration +/- n3 gültig mit dem Iterationspfadfeld


DateTime

= , <>><<>= [Feld], ><<>>=[Feld], =[<Feld], In, Nicht in, war jemals
Makros: @Today , die mit ** +/- n** ganzzahl angegeben werden können.


TreePath

= , <> unter, Nicht unter Makros: @CurrentIteration2 ist gültig mit dem Iterationspfadfeld


Hinweise:

  1. Die @StartOfDay,@StartOfWeek, @StartOfMonth, @StartOfYear Makros werden für Azure DevOps Server 2019.1 und höher unterstützte Versionen unterstützt, und nur dann, wenn sie vom Webportal ausgeführt werden.
  2. Das @CurrentIteration-Makro wird für TFS 2015- und höher-Versionen unterstützt, und nur beim Ausführen aus dem Webportal.
  3. Das @CurrentIteration +/- n-Makro wird für Azure DevOps Server 2019 und höherer Versionen unterstützt, und nur dann, wenn das Webportal ausgeführt wird.

Tipp

Der WasEver-Operator kann mit dem Iterationspfadfeld verwendet werden, aber nur wenn er über die WIQL-Syntax definiert ist. Ein Beispiel finden Sie unter TBC.

Clienteinschränkungen für die Verwendung der @CurrentIteration Makros

Sie können die @CurrentIteration in einer Abfrage aus den folgenden Clients verwenden:

  • Webportal, das eine Verbindung mit Azure Boards herstellt
  • Webportal, das eine Verbindung mit einer lokalen Azure DevOps 2015 oder höher-Version herstellt
  • Visual Studio 2015 oder Team Explorer 2015 oder höher versionen, die mit Azure Boards oder TFS 2015 oder höher verbundenen Versionen verbunden sind.
  • Verwenden der REST-API

Sie können das @CurrentIteration +/- n-Makro in einer Abfrage gegen Azure Boards, Azure DevOps Server 2019 und späteren Versionen und mit einer REST-API verwenden, die das Team als Parameter enthält, z@CurrentIteration('[Project]/Team'). B. .

Ein Fehler tritt auf, wenn Sie eine Abfrage öffnen, die das @CurrentIteration Makro in früheren Versionen von Visual Studio enthält, oder von Excel oder Project. Außerdem können Sie das Makro beim Kopieren oder Klonen von Testsammlungen und Testfällen nicht verwenden, warnungen oder mit REST-APIsdefinieren.

Datumsbasierte Abfragen

Sie können Arbeitsaufgaben nach dem Änderungsdatum oder nach einem bestimmten Zeitraum filtern. Durch das Einschränken des Umfangs Ihrer Abfrage kann die Leistung unterstützt werden, indem nur Ergebnisse zurückgegeben werden, die dem datumsbereich entsprechen, den Sie einschließen. Wenn Sie neu zum Erstellen von Abfragen sind, lesen Sie den Abfrage-Editor, um Abfragen auflisten und verwalten zu können.

Nicht alle Felder sind für alle Arbeitselementtypen (WITs) gültig. Springen Sie zu Datumsfeldern für den Satz von Feldern, die Sie in Abfragen einschließen können und auf welche WITs sie angewendet werden.


Filtern nach

Einschließen dieser Abfrageklauseln


Elemente, die in den letzten 30 Tagen erstellt wurden

Clause for finding items created in the last 30 days

Elemente, die zu einem bestimmten Datum geändert wurden

Clause for finding items changed on a specific date

Heute aufgelöste Elemente

Clause for finding items resolved today

Elemente, die innerhalb eines bestimmten Zeitraums geschlossen wurden

Clause for finding items closed within a specified time period

Elemente, die nicht geschlossen wurden (Geschlossenes Datum ist null)

Clause for finding items whose Closed Date is empty or null

Elemente, deren Status innerhalb der letzten Woche aktualisiert wurde

Clause for finding items whose status was updated within the last week

Elemente, die während des aktuellen Sprints geschlossen wurden (das @CurrentIteration Makro verweist auf den Sprint, der für den aktuellen Teamkontext definiert ist)

Clause for finding items closed during the current sprint

Tipp

Informationen zum Gruppieren von AND/OR-Klauseln finden Sie unter Erstellen und Speichern verwalteter Abfragen, Gruppenklauseln. Um die WIQL-Syntax für eine Abfrage anzuzeigen, installieren Sie die WIQL-Abfrage-Editorerweiterung , mit der Sie die WIQL-Version eines beliebigen Abfrageoberflächeneintrags sehen können.

Erstellen von Anfangs-, Wochen-, Monats- oder Jahresabfragen

In den folgenden Beispielen wird gezeigt, wie Sie die StartOf... -Makros verwenden, um nach Arbeitselementen mit verschiedenen Offsets zu filtern. Weitere Beispiele für die Verwendung dieser Makros finden Sie unter WIQL-Syntax.

Hinweis

Erfordert Azure DevOps Server 2019 Update 1 oder höher Version.

Filtern nach

Einschließen dieser Abfrageklauseln


Fehler in den letzten zwei Wochen geschlossen

Clauses for finding bugs closed in the last two weeks

Elemente, die in den letzten 10 Tagen geändert wurden

Clause for finding items changed in the last 10 days

Features, die in den nächsten drei Monaten abgeschlossen werden sollen

Clauses for features scheduled to be completed in the next 3 months

Nicht alle Felder sind für alle Arbeitselementtypen gültig. Springen Sie zu Datumsfeldern für den Satz von Feldern, die Sie in Abfragen einschließen können und auf welche Arbeitselementtypen sie angewendet werden. Geben Sie Datumsangaben im Datumsmuster ein, das Sie für Ihr persönliches Profil festlegen. (Weitere Informationen finden Sie unter Festlegen persönlicher Einstellungen .)

Erstellen von Abfragen für die aktuelle Iteration Ihres Teams

Wenn Ihr Team Scrum-Prozesse folgt, planen Sie die Arbeit, die in Sprints abgeschlossen werden soll. Sie können den Fortschritt von Anforderungen, Fehlern und anderen Arbeiten nachverfolgen, die im aktuellen Sprint mit dem @CurrentIteration-Makro abgeschlossen werden sollen.

Jedes Element, das einem Sprint zugewiesen ist, der dem aktuellen Iterationspfad für das Team entspricht, wird gefunden. Wenn sich ein Team beispielsweise auf Sprint 5 befindet, gibt die Abfrage Elemente zurück, die Sprint 5 zugewiesen sind. Später, wenn das Team in Sprint 6 arbeitet, gibt dieselbe Abfrage Elemente zurück, die Sprint 6 zugewiesen sind.

Hinweis

Damit das @CurrentIteration Makro funktioniert, muss das Team einen Iterationspfad ausgewählt haben, dessen Datumsbereich das aktuelle Datum umfasst. Ausführliche Informationen finden Sie unter Definieren von Iterationspfaden (auch als Sprints bezeichnet) und Konfigurieren von Team iterationen. Auch Abfragen, die dieses Makro enthalten, sind nur gültig, wenn sie aus dem Webportal ausgeführt werden.

Siehe auch Client restrictions on the use of the @CurrentIteration macros weiter unten in diesem Artikel.

Azure Boards fügt einen Teamparameter hinzu, wenn Sie die @CurrentIteration oder @CurrentIteration +/- n-Makros auswählen. Der Teamparameter wird aus Ihrem aktuellen Teamkontext abgeleitet.

Query filter using the <span class=@CurrentIteration Makro mit teamparameter" />

Tipp

Wenn das @CurrentIteration Makro nicht funktioniert, überprüfen Sie, ob die erwartete Iteration für Ihr Team ausgewählt ist und für diese Datumsangaben festgelegt wurden.

Um den Teamparameter des Systems automatisch festzulegen, wählen Sie ihn aus, indem Sie den Namen des Teams in das Parameterfeld eingeben, das unterhalb des @CurrentIteration-Makros hinzugefügt wurde.

Choose team parameter

Stellen Sie vor dem Erstellen oder Aktualisieren einer Abfrage zum Verwenden des @CurrentIteration-Makros sicher, dass Sie Ihr Team auswählen. Das @CurrentIteration Makro verweist auf das aktuelle Team, das im Webportal ausgewählt ist.

Query filter using the <span class=@CurrentIteration Makro" />

Erstellen eines gleitenden Fensters der Iterationsabfrage Ihres Teams

Verwenden Sie das @CurrentIteration +/- n-Makro , wenn Sie die Arbeit nachverfolgen möchten, die ein Team für bevorstehende Sprints geplant hat, und zum Verständnis der Arbeit, die in früheren Sprints nicht abgeschlossen wurde.

Hinweis

Damit das @CurrentIteration +/- n-Makro funktioniert, muss das Team ausgewählte Iterationspfade haben, die die Kriterien und Datumsbereiche erfüllen, die das+/- aktuelle Datum für die @CurrentIteration umfassen. Details zur Teamauswahl von Iterationspfaden finden Sie unter Definieren von Iterationspfaden (Sprint) und Konfigurieren von Team iterationen.

Siehe auch Client restrictions on the use of the @CurrentIteration macros weiter unten in diesem Artikel.

Hier erfahren Sie, wie Sie alle Benutzergeschichten und Fehler auflisten, die dem gleitenden Fenster zugewiesen sind, das die letzten beiden, die aktuellen und die nächsten beiden Sprints für das Team "Cloud Admin und Tools" ausgewählt hat.

CurrentIteration plus and minus clauses

Um dieses Makro zu verwenden, muss das angegebene Team eine Reihe von Sprints ausgewählt haben, die den +/- für das Makro eingegebenen Wert umfassen.

Auflisten von Arbeitselementen, die aus einem Sprint verschoben wurden

Sie können Arbeitselemente auflisten, die für einen Sprint definiert wurden, aber später mit einer Abfrage mit einer Klausel verschoben wurden, die den Was Ever-Operator für den Iterationspfad enthält. Sie können diese Abfrage nur mithilfe der WIQL-Syntax erstellen. Sie können die WIQL-Syntax im Abfrage-Editor bearbeiten, indem Sie die Wiql Editor Marketplace-Erweiterung installieren.

Die folgenden Syntaxabfragen für Arbeitsaufgaben, die den folgenden Kriterien entsprechen:

  1. Definiert im aktuellen Projekt
  2. Arbeitselementtyp entspricht "User Story" oder "Bug"
  3. Arbeitselemente befinden sich unter dem Fabrikam Fiber Web Team Area Path
  4. Arbeitselemente befinden sich nicht im Zustand "Geschlossen", "Abgeschlossen", "Ausschneiden" oder "Aufgelöst"
  5. Nicht im aktuellen Iterationspfad für das Fabrikam Fiber Web Team
  6. Dem aktuellen Iterationspfad für das Fabrikam Fiber Web-Team wurde jedoch der aktuelle Iterationspfad zugewiesen.
  7. Sind jetzt dem Aktuellen Iteration +1 für das Fabrikam Fiber Web-Team zugewiesen
  8. Und wurden innerhalb der letzten 30 Tage geändert (die Länge des Sprints)
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]

Die Abfrage-Editor Ansicht der Syntax wird wie dargestellt angezeigt.

Hinweis

Die Abfrage-Editor zeigt ein Informationssymbol neben dem Operator "Was Ever" an, das ein Problem mit der Klausel angibt. Die Abfrage wird jedoch weiterhin ausgeführt, und Sie können Abfragediagramme erstellen. Um die Abfrage zu ändern, müssen Sie jedoch den WIQL-Editor verwenden.

Screenshot of Query Editor, Work Items moved out of a sprint.

Auflisten von Arbeitselementen, die einem Sprint nach dem Startdatum hinzugefügt wurden

Wenn Sie neu erstellte Arbeitselemente auflisten möchten, die einem Sprint nach dem Startdatum hinzugefügt wurden, verwenden Sie eine Abfrage ähnlich wie in der folgenden Abbildung dargestellt. Diese Abfrage funktioniert durch Filtern nach Arbeitselementen, die dem aktuellen Sprint zugewiesen wurden, aber nach dem Start des Sprintdatums erstellt wurden. In diesem Beispiel wird dies mit der Klausel "Date = @Today - 28" erreicht.

Screenshot of Query Editor, Work Items newly created and added to a sprint after it's start date.

Weitere Optionen zum Abfragen von Änderungen am Sprintbereich finden Sie unter "Informationen zu Sprints", "Scrum" und "Projektmanagement", "Sprint-Bereichsänderung".

Felder für Datums- und Iterationspfad

Sie können Datumsfelder verwenden, um Ihre Abfragen zu filtern. Einige dieser Felder werden mit Informationen gefüllt, da eine Arbeitsaufgabe von einem Zustand zu einem anderen weitergeht. Mehrere dieser Felder werden nicht im Arbeitselementformular angezeigt, werden aber für diese WITs nachverfolgt, die in der folgenden Tabelle aufgeführt sind.

Feldname

Beschreibung

Arbeitselementtypen


Aktiviertes Datum (Notizen 1 und 2)

Das Datum und die Uhrzeit, zu der die Arbeitsaufgabe erstellt wurde oder zu der ihr Status von "Geschlossen", "Abgeschlossen" oder "Fertig" in den Zustand "Neu" oder "Aktiv" geändert wurde.
Referenzname=Microsoft.VSTS.Common.ActivatedDate, Datentyp=DateTime

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

Datum ändern

Datum und Uhrzeit, zu dem ein Arbeitselement geändert wurde.
Referenzname=System.ChangedDate, Datentyp=DateTime

All

Schließungsdatum (Hinweis 2)

Das Datum und die Uhrzeit, zu der ein Arbeitselement abgeschlossen wurde.
Referenzname=Microsoft.VSTS.Common.ClosedDate, Datentyp=DateTime

All

Erstellt am

Das Datum und Uhrzeit, zu der ein Arbeitselement erstellt wurde.
Referenzname=System.CreatedDate, Datentyp=DateTime

Alle

Due Date

Das geplante Fälligkeitsdatum, bis zu dem ein Problem behoben wird.
Referenzname=Microsoft.VSTS.Scheduling.DueDate, Datentyp=DateTime

Problem (Agile)

Endtermin (Hinweis 3)

Das Datum und die Uhrzeit für den Abschluss der Aufgabe gemäß dem Zeitplan.
Referenzname=Microsoft.VSTS.Scheduling.FinishDate, Datentyp=DateTime

Anforderung, Aufgabe, Testplan, Benutzergeschichte

Iterationspfad

Gruppiert Arbeitselementen nach benannten Sprints oder Zeiträumen. Die Iteration muss ein gültiger Knoten in der Projekthierarchie sein. Sie definieren Iterationspfade für ein Projekt und wählen Iterationspfade für ein Team aus, definieren Iterationspfade für ein Projekt und wählen Iterationspfade für ein Team aus.
Referenzname=System.IterationPath, Datentyp=TreePath

Alle

Behobenes Datum (Notizen 1 und 2)

Datum und Uhrzeit, zu dem das Arbeitselement in einen aufgelösten Zustand verschoben wurde.
Referenzname=Microsoft.VSTS.Common.ResolvedDate, Datentyp=DateTime

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

Startdatum (Hinweis 3)

Das Datum und die Uhrzeit für den Start der Aufgabe gemäß dem Zeitplan.

Hinweis

Übermittlungspläne verwenden das Startdatum und das Zieldatum , um die Spanne von Features, Epics und anderen Portfolio-Backlogelementen anzuzeigen.

Referenzname=Microsoft.VSTS.Scheduling.StartDate, Datentyp=DateTime

Epic, Feature, Anforderung, Aufgabe, Testplan, Benutzergeschichte

Datum der Zustandsänderung

Das Datum und die Uhrzeit, zu der das Zustandsfeld geändert wurde.
Referenzname=Microsoft.VSTS.Common.StateChangeDate, Datentyp=DateTime

All

Zieldatum

Das Datum, an dem ein Feature, eine Arbeitsaufgabe oder ein Problem abgeschlossen oder behoben werden soll.

Hinweis

Übermittlungspläne verwenden das Startdatum und das Zieldatum , um die Spanne von Features, Epics und anderen Portfolio-Backlogelementen anzuzeigen.

Referenzname=Microsoft.VSTS.Scheduling.TargetDate, Datentyp=DateTime

Epic, Feature

Hinweise:

  1. Siehe auch Abfrage nach Zuordnungs- oder Workflowänderungen, Datums- und Identitätsfeldern.

  2. Damit diese Felder für ein WIT definiert werden können, müssen sie im WORKFLOW Abschnitt der WIT-Definition enthalten sein. Diese Syntax ist beispielsweise beim Übergang zu einem aufgelösten Zustand in der FIELDS Definition enthalten:

     <FIELD refname="Microsoft.VSTS.Common.ResolvedDate" />  
        <SERVERDEFAULT from="clock"  />  
     </FIELD >  
    
  3. Die Felder "Startdatum" und "Enddatum" werden berechnet, wenn Sie einen Projektplan in Microsoft Project erstellen und diesen Plan dann mit Vorgängen synchronisieren, die in Azure Boards gespeichert sind. Diese Felder werden möglicherweise nicht im Arbeitselementformular angezeigt, werden jedoch für die Backlogelemente und Aufgaben berechnet, die mit Backlogelementen verknüpft sind. Sie können ihre schreibgeschützten Werte in Ergebnissen aus einer Abfrage oder aus Microsoft Excel anzeigen.

    Wichtig

    Microsoft Project Integration und der TFSFieldMapping-Befehl werden nicht unterstützt für:

    • Visual Studio 2019 und Azure DevOps Office ® Integration 2019
    • Azure DevOps Server 2019 und höher, einschließlich Azure DevOps Services.

    Die vollständige Unterstützung für Microsoft Excel Integration wird jedoch beibehalten und unterstützt den Massenimport und die Aktualisierung von Arbeitselementen. Alternativen zur Verwendung von Microsoft Project umfassen Folgendes:

Informationen zum Abfragen nach Elementen basierend auf text, der im Feld "Verlauf" eingegeben wurde, finden Sie unter "Verlauf" und "Überwachung".

REST-API

Informationen zur programmgesteuerten Interaktion mit Abfragen finden Sie in einer der folgenden REST-API-Ressourcen: