Abfragen nach Datum oder aktueller Iteration in Azure Boards

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

In diesem Artikel erfahren Sie, wie Sie Arbeitselemente auf der Grundlage des Zeitpunkts auflisten, zu dem sie erstellt, geschlossen, aufgelöst oder geändert wurden. Sie können ein Datum angeben oder ein unterstütztes Makro verwenden. Verwenden Sie das Makro @Today, und geben Sie eine zuzügliche oder abzügliche Anzahl von Tagen für relative Datumsangaben an. Verwenden Sie @CurrentIteration für Abfragen, die Arbeitselemente basierend auf ihrer Zuweisung zum aktuellen Sprint eines Teams auflisten.

Suchen Sie z. B. Arbeitsaufgaben, die in den letzten drei Tagen geändert wurden, mit der folgenden Abfrage.

Der Screenshot zeigt den Abfrage-Editor mit dem Feld „Geändertes Datum“, das auf >= 3 eingestellt ist.

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

Unterstützte Operatoren und Makros

Abfrageklauseln, die ein Feld DateTime oder das Feld Iteration Path angeben, können die in der folgenden Tabelle aufgeführten Operatoren und Makros verwenden.


Datentyp

Unterstützte Operatoren und Makros


DateTime

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

Makros: @StartOfDay, @StartOfWeek, @StartOfMonth, @StartOfYear und @Today. Sie können +/- _n_ mit jedem der unterstützten Makros verwenden.


TreePath

= , <>, Unter, Nicht unter
Makros: @CurrentIteration1 und @CurrentIteration +/- n2 sind bei Verwendung mit dem Feld Iterationspfad gültig.


Hinweise:

  1. Die Makros @StartOfDay, @StartOfWeek, @StartOfMonth und @StartOfYear werden für Azure DevOps Server 2019.1 und spätere Versionen unterstützt, und zwar nur, wenn sie über das Webportal ausgeführt werden.
  2. Das Makro @CurrentIteration +/- n wird für Azure DevOps Server 2019 und spätere Versionen unterstützt, und zwar nur, wenn es über das Webportal ausgeführt wird.

Tipp

Der Operator WasEver kann mit dem Feld Iterationspfad verwendet werden, jedoch nur, wenn er über die WIQL-Syntax (Work Item Query Language) definiert wird. Ein Beispiel finden Sie unter WIQL-Syntax (Work Item Query Language) – Syntaxreferenz.

Datums- und Uhrzeitmuster

Das Datums- und Uhrzeitmuster, das Sie für DateTime-Felder eingeben, muss mit dem Muster übereinstimmen, das Sie über Ihr Profil auswählen. Um Ihre Auswahl anzuzeigen oder zu ändern, siehe Benutzereinstellungen für Zeit und Gebietsschema festlegen.

Screenshot, der die Dropdown-Optionen für das Datumsmuster im Bereich Zeit und Gebietsschema zeigt.Screenshot, der die Dropdown-Optionen für Zeitmuster im Bereich Zeit und Region zeigt.

Screenshot, der den Bereich Zeit und Gebietsschema mit den Feldern Datumsmuster und Zeitmuster zeigt.

Clienteinschränkungen bezüglich der Verwendung der @CurrentIteration-Makros

Auf den folgenden Clients können Sie das Makro @CurrentIteration in einer Abfrage verwenden:

  • Webportal, das eine Verbindung mit Azure Boards herstellt
  • Visual Studio 2019 oder höhere Versionen, die mit Azure Boards verbunden sind
  • Die REST-API

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

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

Datumsbasierte Abfragen

Filtern Sie Arbeitsaufgaben nach dem Datum, an dem sie geändert wurden, oder nach einem bestimmten Zeitraum. Schränken Sie den Umfang Ihrer Abfrage ein, was sich positiv auf die Leistung auswirken kann, indem nur Ergebnisse zurückgegeben werden, die dem von Ihnen angegebenen Datumsbereich entsprechen. Wenn Sie noch nicht mit der Erstellung von Abfragen vertraut sind, lesen Sie den Artikel zur Verwendung des Abfrage-Editors zum Auflisten und Verwalten von Abfragen.

Nicht alle Felder sind für alle Arbeitselementtypen gültig. Gehen Sie zu Date Fields für die Felder, die Sie in Abfragen einbeziehen können, und die Arbeitselement-Typen, für die sie gelten.

Tipp

  • Denken Sie daran, Daten in das Feld Datumsmuster einzugeben, das Sie für Ihr persönliches Profil eingerichtet haben.
  • Um zu verstehen, wie AND/OR Klauseln gruppiert werden, lesen Sie den Abschnitt Gruppenklauseln in Definieren Sie eine Arbeitselement-Abfrage in Azure Boards. Um die WIQL-Syntax für eine Abfrage anzuzeigen, installieren Sie die WIQL-Editor-Erweiterung, mit der Sie die WIQL-Version eines beliebigen Abfrage-Editor-Eintrags sehen können.

Filtern nach

Diese Abfrageklauseln einschließen


Artikel, die in den letzten 30 Tagen erstellt wurden.

Screenshot, der die Abfrage-Editor-Klausel für die Suche nach Artikeln zeigt, die in den letzten 30 Tagen erstellt wurden.


Artikel, die an einem bestimmten Datum geändert wurden.

Screenshot, der die Abfrage-Editor-Klausel für die Suche nach Artikeln zeigt, die an einem bestimmten Datum geändert wurden.


Heute beschlossene Sache.

Screenshot, der die Abfrage-Editor-Klausel für die Suche nach heute aufgelösten Artikeln zeigt.


Posten, die innerhalb eines bestimmten Zeitraums abgeschlossen wurden.

Screenshot, der die Abfrage-Editor-Klausel für die Suche nach Artikeln zeigt, die innerhalb eines bestimmten Zeitraums geschlossen wurden.


Positionen, die nicht abgeschlossen sind (Datum des Abschlusses ist null).

Screenshot, der die Abfrage-Editor-Klausel zum Auffinden von Artikeln zeigt, deren Abschlussdatum leer oder null ist.


Artikel, deren Status innerhalb der letzten Woche aktualisiert wurde.

Screenshot, der die Abfrage-Editor-Klausel für Artikel zeigt, deren Status innerhalb der letzten Woche aktualisiert wurde.


Während des aktuellen Sprints abgeschlossene Aufgaben. (Das Makro <xref href="CurrentIteration" data-throw-if-not-resolved="False" data-raw-source="@CurrentIteration"></xref> bezieht sich auf den für den aktuellen Teamkontext definierten Sprint)

Screenshot, der die Abfrage-Editor-Klausel für Elemente zeigt, die während des aktuellen Sprints abgeschlossen wurden.


Erstellen von datumsbasierten Abfragen nach Tages-, Wochen-, Monats- oder Jahresbeginn

Die folgenden Beispiele zeigen, wie Sie die StartOf...-Makros verwenden können, um nach Arbeitselementen mit verschiedenen Offsets zu filtern. Weitere Informationen finden Sie unter WIQL-Syntax (Work Item Query Language).

Hinweis

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

Zum Filtern nach

Diese Abfrageklauseln einschließen


In den letzten zwei Wochen geschlossene Wanzen.

Bildschirmbild mit der Abfrage-Editor-Klausel zum Auffinden von Fehlern, die in den letzten zwei Wochen geschlossen wurden.


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

Screenshot, der die Abfrage-Editor-Klauseln für die Suche nach Elementen zeigt, die in den letzten 10 Tagen geändert wurden.


Die Arbeiten sollen in den nächsten drei Monaten abgeschlossen werden.

Screenshot, der die Abfrage-Editor-Klauseln für Funktionen zeigt, die in den nächsten drei Monaten fertiggestellt werden sollen.


Nicht alle Felder sind für alle Arbeitselementtypen gültig. Gehen Sie zu Date Fields für die Felder, die Sie in Abfragen einbeziehen können, und die Arbeitselement-Typen, für die sie gelten.

Erstellen von Abfragen für die aktuelle Iteration Ihres Teams

Wenn Ihr Team Scrum-Prozesse befolgt, planen Sie die Erledigung von Arbeitselementen in Sprints. Mit dem Makro @CurrentIteration können Sie den Fortschritt von Anforderungen, Fehlern und anderen Arbeiten verfolgen, die im aktuellen Sprint abgeschlossen werden sollen.

Jedes Element, das einem dem aktuellen Iterationspfad für das Team entsprechenden Sprint zugewiesen ist, wird gefunden. Wenn ein Team beispielsweise an Sprint 5 arbeitet, gibt die Abfrage Elemente zurück, die Sprint 5 zugewiesen sind. Arbeitet das Team später an Sprint 6, gibt dieselbe Abfrage Elemente zurück, die Sprint 6 zugewiesen sind.

Hinweis

Damit das Makro @CurrentIteration funktioniert, muss das Team einen Iterationspfad ausgewählt haben, dessen Datumsbereich das aktuelle Datum einschließt. Weitere Informationen finden Sie unter „Definieren von Iterationspfaden (sogenannte Sprints) und Konfigurieren von Teamiterationen“. Abfragen, die dieses Makro enthalten, sind zudem nur gültig, wenn sie über das Webportal ausgeführt werden.

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

Azure Boards fügt einen Team-Parameter hinzu, wenn Sie die Makros @CurrentIteration oder @CurrentIteration +/- n auswählen. Der Team-Parameter stammt aus Ihrem aktuellen Team-Kontext.

Screenshot, der den Abfragefilter unter Verwendung des Makros CurrentIteration mit dem Parameter „team“ zeigt.

Tipp

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

Um den Team-Parameter zu ändern, den das System automatisch setzt, wählen Sie ihn aus, indem Sie den Namen des Teams in das Parameterfeld eingeben, das unter dem Makro @CurrentIteration hinzugefügt wurde.

Screenshot, der die Auswahl eines Teamparameters zeigt.

Erstellen einer Abfrage mit einem gleitenden Fenster der Iterationen Ihres Teams

Verwenden Sie das Makro @CurrentIteration +/- <i>n</i>, wenn Sie die Arbeit verfolgen wollen, die ein Team für kommende Sprints geplant hat, und um zu verstehen, welche Arbeit in früheren Sprints nicht abgeschlossen wurde.

Hinweis

Damit das Makro @CurrentIteration +/- <i>n</i> funktioniert, muss das Team Iterationspfade ausgewählt haben, die die Kriterien von +/- _n_ erfüllen. Die Datumsbereiche müssen das aktuelle Datum für die @CurrentIteration umfassen. Weitere Informationen zur Teamauswahl von Iterationspfaden finden Sie unter Iterationspfade (Sprints) definieren und Teamiterationen konfigurieren.

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

Das folgende Bild zeigt, wie alle User Story- und Bug-Arbeitselement-Typen aufgelistet werden, die dem Schiebefenster zugeordnet sind, das die letzten beiden, den aktuellen und die nächsten beiden Sprints umfasst, die für das Cloud Admin and Tools-Team ausgewählt wurden.

Screenshot, der die Plus- und Minusklauseln von CurrentIteration zeigt.

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

Auflisten von Arbeitselementen, die aus einem Sprint verschoben wurden

Listen Sie Arbeitselemente auf, die für einen Sprint definiert wurden, aber später verschoben wurden, indem Sie eine Abfrage mit einer Klausel verwenden, die den Operator Was Ever für das Feld Iterationspfad enthält. Erstellen Sie diese Abfrage nur unter Verwendung der WIQL-Syntax. Bearbeiten Sie die WIQL-Syntax im Query Editor, indem Sie die WIQL Editor Marketplace-Erweiterung installieren.

Die folgende Syntax fragt beispielsweise Arbeitselemente ab, die die folgenden Kriterien erfüllen:

  • Definiert im aktuellen Projekt.
  • Der Arbeitselement-Typ ist gleich User Story oder Bug.
  • Arbeitsaufgaben sind unter dem Fabrikam Fiber Web Team Area Path.
  • Die Arbeitselemente befinden sich nicht im Status Closed, Completed, Cut oder Resolved.
  • Nicht im aktuellen Iterationspfad für das Fabrikam Fiber Web Team.
  • Wurden dem aktuellen Iterationspfad für das Fabrikam Fiber Web Team zugeordnet.
  • Sind jetzt der aktuellen Iteration +1 für das Fabrikam Fiber Web Team zugeordnet.
  • Innerhalb der letzten 30 Tage (der Dauer des Sprints) geändert wurden.
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 Syntaxansicht im Abfrage-Editor sieht wie hier dargestellt aus.

Hinweis

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

Screenshot, der die aus einem Sprint verschobenen Arbeitsaufgaben des Query Editors zeigt.

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

Um neu erstellte Arbeitselemente aufzulisten, die einem Sprint nach seinem Startdatum hinzugefügt wurden, verwenden Sie eine Abfrage wie die im folgenden Screenshot. Diese Abfrage filtert nach Arbeitselementen, die dem aktuellen Sprint zugewiesen sind, aber nach dem Startdatum des Sprints erstellt wurden. Verwenden Sie die Klausel created Date = @Today - 28.

Screenshot, der die neu erstellten und einem Sprint nach dessen Startdatum hinzugefügten Arbeitsaufgaben des Query Editors zeigt.

Weitere Optionen zum Abfragen von Änderungen am Sprintbereich finden Sie im Artikel zu Sprints, Scrum und Projektverwaltung im Abschnitt zum Abfragen von Änderungen des Sprintbereichs.

Datums- und Iterationspfadfelder

Verwenden Sie Datum Felder, um Ihre Abfragen zu filtern. Manche Felder werden mit Informationen aufgefüllt, wenn ein Arbeitselement von einem Zustand in einen anderen übergeht. Einige dieser Felder werden im Arbeitselementformular nicht angezeigt, werden aber für die in der folgenden Tabelle aufgeführten Arbeitselementtypen nachverfolgt.

Feldname

Beschreibung

Arbeitselementtypen


Aktiviertes Datum (Anmerkungen 1 und 2)

Das Datum und die Uhrzeit, zu der das Arbeitselement erzeugt wurde oder zu der sein Status von Closed, Completed oder Done in einen New- oder Active-Status geändert wurde. Verweisname = Microsoft.VSTS.Common.ActivatedDate, Datentyp = DateTime

Fehler, Änderungsanforderung, Epic, Feature, Problem, Product Backlog Item, Anforderung, Review, Risiko, Freigegebener Schritt, Aufgabe, Testfall, User Story

Datum ändern

Das Datum und die Uhrzeit der Änderung eines Arbeitselements. Verweisname = System.ChangedDate, Datentyp = DateTime

Alle

Schließungsdatum (Hinweis 2)

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

Alle

Erstellt am

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

Alle

Due Date

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

Problem (Agile)

Fertigstellungsdatum (Hinweis 3)

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

Anforderung, Aufgabe, Testplan, User Story

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. Verweisname = System.IterationPath, Datentyp = TreePath

Alle

Lösungsdatum (Hinweise 1 und 2)

Das Datum und die Uhrzeit, zu der das Arbeitselement in den Status Resolved versetzt wurde. Verweisname = Microsoft.VSTS.Common.ResolvedDate, Datentyp = DateTime

Fehler, Änderungsanforderung, Epic, Feature, Problem, Product Backlog Item, Anforderung, Review, Risiko, Freigegebener Schritt, Aufgabe, Testfall, User Story

Startdatum (Hinweis 3)

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

Hinweis

Lieferpläne verwendet die Felder Startdatum und Zieldatum, um die Spanne von Features, Epics und anderen Portfolio-Backlog-Elementen anzuzeigen.

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

Epic, Feature, Anforderung, Aufgabe, Testplan, User Story

Datum der Zustandsänderung

Das Datum und die Uhrzeit der Änderung des Werts des Felds State . Verweisname = Microsoft.VSTS.Common.StateChangeDate, Datentyp = DateTime

Alle

Zieldatum

Das Datum, bis zu dem ein Feature, Arbeitselement oder Problem abgeschlossen oder gelöst werden soll.

Hinweis

Lieferpläne verwendet die Felder Startdatum und Zieldatum, um die Spanne von Features, Epics und anderen Portfolio-Backlog-Elementen anzuzeigen.

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

Epic, Feature

Hinweise:

  1. Weitere Informationen finden Sie auch unter Abfragen nach Zuweisung oder Workflowänderungen – Datums- und Identitätsfelder.

  2. Damit diese Felder für einen Arbeitselement-Typ definiert werden können, müssen sie in den Abschnitt WORKFLOW der Arbeitselement-Typ-Definition aufgenommen werden. Diese Syntax ist zum Beispiel in der Definition von FIELDS enthalten, wenn man in den Status Resolved wechselt.

     <FIELD refname="Microsoft.VSTS.Common.ResolvedDate" />  
        <SERVERDEFAULT from="clock"  />  
     </FIELD >  
    
  3. Startdatum- und Enddatum-Werte werden berechnet, wenn Sie einen Projektplan in Project erstellen und dann diesen Plan mit Aufgaben synchronisieren, die in Azure Boards gespeichert sind. Diese Felder erscheinen zwar nicht auf dem Arbeitselement-Formular, werden aber für die Rückstände und Aufgaben, die mit Rückständen verknüpft sind, berechnet. Sie können ihre schreibgeschützten Werte in den Ergebnissen einer Abfrage oder in Excel anzeigen.

    Wichtig

    Microsoft Project Integration und der Befehl TFSFieldMapping 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 volle Unterstützung für die Integration von Microsoft Excel wird beibehalten und unterstützt den Massenimport und die Aktualisierung von Arbeitsaufgaben. Alternativen zur Verwendung von Microsoft Project sind:

REST-API

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