Definieren einer Arbeitselementabfrage

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

Visual Studio 2019 | Visual Studio 2022

Arbeitselementabfragen in Azure Boards generieren Listen von Arbeitselementen basierend auf den von Ihnen angegebenen Filterkriterien. Sie können diese verwalteten Abfragen speichern und für andere freigeben.

Sie können Abfragen über ein Webportal oder einen unterstützten Client erstellen, z. B. Visual Studio Team Explorer. Um Massenupdates oder Ergänzungen zu unterstützen, importieren oder exportieren Sie Abfragen mithilfe von Excel oder CSV-Dateien.

Hinweis

Die in diesem Artikel verwendeten Browserbilder stammen aus dem Feature „Neue Boards-Hubs“, das standardmäßig aktiviert ist. Wenn dieses Feature nicht aktiviert ist, verwenden Sie möglicherweise die vorherige Umgebung für Boards. Um die Bilder für die vorherige Umgebung anzuzeigen, wählen Sie die Azure DevOps Server 2022-Version dieses Artikels aus.

Sehen Sie sich die empfohlenen bewährten Methoden weiter unten in diesem Artikel an.

Voraussetzungen

  • Zugriffsebenen:
  • Berechtigungen: Für Sie muss die Berechtigung Mitwirken für den Ordner, dem Sie die Abfrage hinzufügen möchten, auf Zulassen festgelegt sein. Diese Berechtigung ist für die Gruppe Mitwirkende standardmäßig nicht festgelegt.

Hinweis

Benutzer mit Beteiligtenzugriff für ein öffentliches Projekt besitzen ebenso wie Benutzer mit Standardzugriff Vollzugriff auf Abfragefunktionen. Weitere Informationen finden Sie unter Kurzreferenz zu Beteiligtenzugriff.

  • Zugriffsebenen: Standardmäßig können alle Projektmitglieder und Benutzer mit Beteiligtenzugriff alle freigegebenen Abfragen anzeigen und ausführen. Sie können die Berechtigungen für einen freigegebenen Abfrageordner oder eine freigegebene Abfrage ändern. Weitere Informationen finden Sie unter Einrichten von Abfrageberechtigungen.
  • Berechtigungen: Um eine Abfrage unter Freigegebene Abfragen hinzuzufügen und zu speichern, muss Ihnen Standardzugriff oder höher erteilt werden. Außerdem muss Ihre Berechtigung Mitwirken für den Ordner, dem Sie die Abfrage hinzufügen möchten, auf Zulassen festgelegt sein. Diese Berechtigung ist für die Gruppe Mitwirkende standardmäßig nicht festgelegt.

Auswählen eines Abfragefilters

Wählen Sie im Abfrage-Editor den Filter aus, um zu einem Artikel mit Beispielabfragen zu wechseln. Zusammen mit den Abfragefiltern können Sie Filter interaktiv auf Abfrageergebnisse anwenden.

Hinweis

Verwaltete Abfragen unterstützen im Gegensatz zu semantischen Suchvorgängen keine Näherungssuchvorgänge. Semantische Suchen unterstützen außerdem sowohl * als auch ? als Platzhalterzeichen, und Sie können mehrere Platzhalterzeichen verwenden, um mehrere Zeichen abzugleichen. Weitere Informationen finden Sie unter Funktionale Suche nach Arbeitselementen.


Filterfunktionen

Makros



Mithilfe der Funktion Filtern können Sie eine Abfrage interaktiv filtern.

Öffnen von Abfragen

(1) Vergewissern Sie sich in Ihrem Webbrowser, dass Sie das richtige Projekt ausgewählt haben. (2) Wählen Sie Boards > Abfragen aus, und (3) wählen Sie anschließend Alle aus.

Screenshot der Seite „Abfragen“

Die Seite Abfragen wird mit der Registerkarte Favoriten geöffnet, auf der die als Favoriten festgelegten Abfragen aufgeführt sind. Sie können die Registerkarte Alle auswählen, um alle Abfragen anzuzeigen, die Sie für das Projekt definiert haben oder die dafür freigegeben wurden.

Tipp

Abfragen, die Sie oder Ihr Team als Favoriten ausgewählt haben, werden auf der Seite Favoriten angezeigt. Favoritenabfragen zusammen mit anderen Objekten werden auch auf der Seite Projekt angezeigt. Weitere Informationen finden Sie unter Festlegen von persönlichen oder Teamfavoriten.

Wählen Sie in Ihrem Projekt Boards > Abfragen und dann Alle aus.

Screenshot der Seite „Abfragen“

Die Seite Abfragen wird mit der Registerkarte Favoriten geöffnet, auf der die als Favoriten festgelegten Abfragen aufgeführt sind. Sie können die Registerkarte Alle auswählen, um alle Abfragen anzuzeigen, die Sie für das Projekt definiert haben oder die dafür freigegeben wurden.

Tipp

Abfragen, die Sie oder Ihr Team als Favoriten ausgewählt haben, werden auf der Seite Favoriten angezeigt. Favoritenabfragen zusammen mit anderen Objekten werden auch auf der Seite Projekt angezeigt. Weitere Informationen finden Sie unter Festlegen von persönlichen oder Teamfavoriten.

Definieren einer Abfrage für eine Flatlist

Starten Sie eine neue Abfrage über die Registerkarte Abfragen im Webportal oder über die Registerkarte Arbeitselemente in Team Explorer.

  1. Wählen Sie Neu>Neue Abfrage aus.

Screenshot: Hinzufügen einer neuen Abfrage, Benutzeroberfläche „Neu“.

Der Abfrage-Editor wird mit den folgenden Standardeinstellungen angezeigt: Flatlist der Arbeitselemente, Arbeitselementtyp=[Beliebig] und Status=[Beliebig].

Screenshot: Abfrage-Editor mit einer Flatlist ausgewählter Arbeitselemente.

  1. Ändern Sie die Werte, und fügen Sie Klauseln hinzu, oder entfernen Sie sie. Sie können auch den Abfragetyp in Arbeitselemente und Direktlinks oder Arbeitselementbaum ändern.
  1. Wählen Sie Neu>Neue Abfrage aus.

Screenshot: Hinzufügen einer neuen Abfrage, Benutzeroberfläche „Neu“.

Der Abfrage-Editor wird mit den folgenden Standardeinstellungen angezeigt: Flatlist der Arbeitselemente, Arbeitselementtyp=[Beliebig] und Status=[Beliebig].

Screenshot: Abfrage-Editor mit einer Flatlist ausgewählter Arbeitselemente.

  1. Ändern Sie die Werte, und fügen Sie Klauseln hinzu, oder entfernen Sie sie. Sie können auch den Abfragetyp in Arbeitselemente und Direktlinks oder Arbeitselementbaum ändern.

Projektübergreifende Abfragen oder Abfragen innerhalb von Projekten

Neue Abfragen beziehen sich standardmäßig auf das aktuelle Projekt. Sie können jedoch Abfragen erstellen, um Arbeitselemente zu finden, die innerhalb der Organisation oder Projektsammlung definiert sind. Alle Abfragen, die Sie speichern, werden jedoch unter einem bestimmten Projekt gespeichert.

Wenn Sie Arbeitselemente auflisten möchten, die in mindestens zwei Projekten definiert sind, aktivieren Sie Projektübergreifende Abfrage. Die folgende Abfrage findet beispielsweise alle Features, die in allen Projekten innerhalb der letzten 30 Tage erstellt wurden.

Screenshot: Abfrage-Editor mit aktivierter Option „Projektübergreifende Abfrage“.

Screenshot: Auswahl für „Projektübergreifende Abfrage“

Wenn die Option Projektübergreifende Abfrage aktiviert ist, können Sie das Feld Teamprojekt hinzufügen, um eine ausgewählte Anzahl von Projekten zu filtern.

Screenshot: Abfrage-Editor mit „Teamprojekt“ und anderen hinzugefügten Feldern, nach denen gefiltert werden soll.

Screenshot: Abfrage-Editor mit „Teamprojekt“ und anderen hinzugefügten Feldern, nach denen gefiltert werden soll.

Hinweis

  • Trennen Sie mehrere Projektnamen mit dem Listentrennzeichen voneinander, das von den regionalen Einstellungen abhängt, die für den Clientcomputer definiert wurden, beispielsweise das Komma (,).
  • Wenn Sie das Feld „Status“ in einer Abfrage für mehrere Projekte verwenden, sind die angezeigten Werte auf diejenigen beschränkt, die im Standardprojekt definiert sind. Das bedeutet Folgendes: Wenn Sie projektübergreifend abfragen, werden möglicherweise nicht alle möglichen Statuswerte jedes Projekts angezeigt, sondern nur die Werte aus dem Projekt, das als Standard festgelegt ist. Wenn Sie beispielsweise drei Projekte haben (Projekt A, Projekt B und Projekt C) und nur Projekt A den Status „Wird überprüft“ aufweist, die Projekte B und C jedoch einen anderen Status haben, zeigt die Abfrage in diesen Projekten nur die in Projekt A definierten Status an.
  • Das Feld Teamprojekt ist nur verfügbar, nachdem Sie Projektübergreifende Abfrage aktiviert haben.
  • Wenn Projektübergreifende Abfrage aktiviert ist, werden alle Felder aller Arbeitselementtypen, die in allen Projekten in der Sammlung definiert sind, im Dropdownmenü Feld angezeigt.
  • Wenn die Option Projektübergreifende Abfrage deaktiviert ist, werden im Dropdownmenü Feld nur die Felder aus diesen Arbeitselementtypen angezeigt, die im aktuellen Projekt definiert sind.

Definieren einer Klausel

Um eine Abfrage zu erstellen, definieren Sie mindestens eine Klausel. Jede Klausel definiert ein Filterkriterium für ein einzelnes Feld.

Beispielabfrageklausel

Und/Oder Feld Operator Wert
Und Zugewiesen zu = @Me

Eine Liste der verfügbaren Operatoren basierend auf dem Felddatentyp finden Sie unter Abfrageindex-Kurzreferenz.

Alle Klauseln werden als AND-Anweisung hinzugefügt. Wählen Sie OR aus, um die Gruppierung zu ändern. Sie können Klauseln gruppieren, um sicherzustellen, dass die Klauselanweisungen in der festgelegten Reihenfolge ausgeführt werden.

Wählen Sie Neue Klausel hinzufügen aus, um eine weitere Klausel am Ende der Abfrage hinzuzufügen, und wählen Sie dann Field, Operator und Wert für diese Klausel aus.

Screenshot: Abfrage-Editor, der zeigt, wie eine Klausel hinzugefügt wird.

Screenshot: Abfrage-Editor, der zeigt, wie eine Klausel hinzugefügt wird.

Suchen Sie beispielsweise nach allen Ihnen zugewiesenen Arbeitselementen, indem Sie das Feld Zugewiesen an, den Gleichheitsoperator (=) und das @Me-Makro angeben, das Ihre Benutzeridentität darstellt.

Tipp

Zum Anzeigen der WIQL-Syntax für eine Abfrage und der Verwendung von Klammern zum Gruppieren von Klauseln installieren Sie den Wiql-Editor aus Marketplace. Diese Erweiterung unterstützt das Anzeigen der WIQL-Syntax und das Exportieren in eine WIQL-Datei zur Verwendung in REST-API-Aufrufen. Weitere Informationen finden Sie unter Syntax für die Arbeitselement-Abfragesprache (Work Item Query Language, WIQL).

Prüfliste für das Definieren einer Abfrageklausel

  1. Wählen Sie in der ersten leeren Zeile unter der Spaltenüberschrift Feld den Pfeil nach unten aus, um die Liste der verfügbaren Felder anzuzeigen, und wählen Sie anschließend ein Element in der Liste aus. Weitere Informationen finden Sie unter Abfragefelder und -werte.

  2. Wählen Sie auf der gleichen Zeile unter der Spaltenüberschrift Operator den Pfeil nach unten aus, um die Liste der verfügbaren Operatoren anzuzeigen, und wählen Sie anschließend ein Element in der Liste aus. Weitere Informationen finden Sie unter Operatoren.

  3. Geben Sie auf der gleichen Zeile unter der Spaltenüberschrift Wert einen Wert ein, oder wählen Sie den Pfeil nach unten und dann ein Element in der Liste aus. Weitere Informationen zur Verwendung eines Makros oder einer Variablen zum Angeben des aktuellen Projekts, Benutzers, Datums oder einer anderen Auswahl finden Sie unter Variablen.

  4. Wenn Sie eine Klausel hinzufügen möchten, wählen Sie Neue Klausel hinzufügen aus.

    Sie können am Ende der Abfrage eine Klausel hinzufügen oder die folgenden Aufgaben mit den entsprechenden Symbolen ausführen:

    • Neue Filterzeile einfügen
    • Diese Filterzeile entfernen
    • Ausgewählte Klauseln gruppieren
    • Gruppierung der Klauseln aufheben

Verwenden einer Arbeitselementstruktur zum Anzeigen von Hierarchien

Verwenden Sie die Abfrage Tree of Work Items (Struktur der Arbeitselemente), um eine geschachtelte Arbeitselementliste mit mehreren Ebenen anzuzeigen. Beispielsweise können alle Backlogelemente und deren verknüpften Aufgaben angezeigt werden. Wenn Sie sich auf verschiedene Teile der Struktur konzentrieren möchten, wählen Sie Alle erweitern oder Alle reduzieren aus.

Hinweis

Sie können keine Abfrage erstellen, die eine hierarchische Ansicht von Testplänen, Testsammlungen und Testfällen anzeigt. Diese Elemente werden nicht mithilfe von über- und untergeordneten Linktypen miteinander verknüpft. Sie können jedoch eine Direktlink-Abfrage erstellen, die testbezogene Arbeitselemente auflistet. Außerdem können Sie die Hierarchie über die Seite „Testpläne“ anzeigen.

Screenshot: Ergebnisliste der Abfrage, die eine Strukturabfrage zeigt.

Definieren Sie die Filterkriterien sowohl für übergeordnete als auch untergeordnete Arbeitselemente. Zum Suchen nach verknüpften untergeordneten Elementen wählen Sie Zunächst nach Arbeitselementen der obersten Ebene suchen aus. Zum Suchen nach verknüpften übergeordneten Elementen wählen Sie Zunächst nach verknüpften Arbeitselementen suchen aus.

Screenshot: Abfrage-Editor-Ansicht der Struktur der Arbeitselemente.

Verwenden Sie die Abfrage Work items and Direct links (Arbeitselemente und Direktlinks), um Arbeitselemente nachzuverfolgen, die von anderen nachverfolgten Aufgaben abhängig sind, z. B. Tasks, Fehler, Probleme oder Funktionen. Beispielsweise können Sie Backlog Items anzeigen, die von der Implementierung anderer Elemente oder der Behebung eines Fehlers abhängig sind.

Verwenden Sie die Direktlinkabfrage, um Abhängigkeiten teamübergreifend nachzuverfolgen. Die Abfrage hilft Ihnen auch bei der Verwaltung der von Ihrem Team getätigten Zusagen. Wählen Sie die Filterkriterien für die obersten und verknüpften Arbeitselemente aus. Wählen Sie außerdem die Typen von Links aus, um die Abhängigkeiten zu filtern.

Screenshot: Ergebnisse der Direktlinkabfrage.

Screenshot: Abfrage-Editor, Direktlinkabfrage.

Filtern Sie die Liste der Arbeitselemente der obersten Ebene durch Auswahl einer dieser Optionen:

  • Nur Elemente zurückgeben, die übereinstimmende Links besitzen: Arbeitselemente der ersten Ebene werden zurückgegeben, aber nur, wenn sie Links zu Arbeitselementen besitzen, die durch die Filterkriterien für verknüpfte Arbeitselemente angegeben werden.
  • Alle Elemente der obersten Ebene zurückgeben: Alle Arbeitselemente der ersten Ebene werden trotz der Filterkriterien für verknüpfte Arbeitselemente zurückgegeben. Bei Übereinstimmung mit den Filterkriterien für verknüpfte Arbeitselemente werden Arbeitselemente der zweiten Ebene zurückgegeben, die mit der ersten Ebene verknüpft sind.
  • Nur Elemente ohne übereinstimmende Links zurückgeben: Es werden Arbeitselemente der ersten Ebene zurückgegeben, jedoch nur, wenn diese nicht über Links zu Arbeitselementen verfügen, die über die Filterkriterien der verknüpften Arbeitselemente angegeben wurden.

Weitere Informationen zu den einzelnen Linktypen finden Sie unter Referenz zu Linktypen.

Verwenden logischer AND-/OR-Ausdrücke

Sie geben And oder Or an, um logische Ausdrücke der Abfrageklauseln zu erstellen. Verwenden Sie And, wenn Sie nach Arbeitselementen suchen möchten, die die Kriterien in der aktuellen Klausel und in der vorherigen Klausel erfüllen. Verwenden Sie Or, wenn Sie nach Arbeitselementen suchen möchten, die die Kriterien in der aktuellen oder der vorherigen Klausel erfüllen.

Fügen Sie eine neue Klausel für jedes Arbeitselementfeld hinzu, um Ihre Suchkriterien zu verfeinern. Fügen Sie Klauseln hinzu, um nur die gewünschte Arbeitselementmenge zurückzugeben. Wenn Sie nicht die Ergebnisse erhalten, die Sie von Ihrer Abfrage erwarten, verfeinern Sie sie. Sie können Abfrageklauseln hinzufügen, entfernen, gruppieren oder eine Gruppierung aufheben, um Ihre Abfrageergebnisse zu verbessern.

Gruppieren Sie Abfrageklauseln, um als einzelne Einheit getrennt vom Rest der Abfrage zu arbeiten. Das Gruppieren von Klauseln ähnelt dem Einschließen eines Ausdrucks in Klammern in einer mathematischen Gleichung oder Logikanweisung. Wenn Sie Klauseln gruppieren, wird der And- bzw. Or-Operator für die erste Klausel der Gruppe auf die gesamte Gruppe angewandt.

Gruppieren von Klauseln

Gruppierte Klauseln werden als einzelne Einheit getrennt vom Rest der Abfrage ausgeführt. Das Gruppieren von Klauseln ist vergleichbar mit dem Einfügen von Klammern in eine mathematische Gleichung oder einen logischen Ausdruck. Der And- bzw. Or-Operator für die erste Klausel der Gruppe gilt für die gesamte Gruppe.

Wie die folgenden Beispiele zeigen, werden die gruppierten Klauseln in den entsprechenden logischen Ausdruck übersetzt.

Abfrage Gruppierte Klauseln Logischer Ausdruck.
1 Screenshot: Gruppenklauselabfrage. Filter werden für das Feld „Arbeitselementtyp“ und entweder für das Feld „Status“ oder für das Feld „Zugewiesen“ eingerichtet. Screenshot: Logischer Ausdruck. Ein UND-Operator gruppiert die Felder „Arbeitselementtyp“, „Status“ und „Zugewiesen“. Ein ODER-Operator gruppiert die Felder „Status“ und „Zugewiesen“.
2 Screenshot: Gruppenklauselabfrage mit Filtern für das Feld „Arbeitselementtyp“ und entweder für das Feld „Status“ oder für das Feld „Zugewiesen“. Screenshot: Logischer Ausdruck. Ein UND-Operator gruppiert den Arbeitselementtyp mit den Feldern „Status“ oder „Zugewiesen an“, die durch einen ODER-Operator gruppiert werden.
3 Screenshot: Gruppenklauselabfrage. Filter werden entweder für das Feld „Arbeitselementtyp“ oder sowohl für das Feld „Status“ als auch für das Feld „Zugewiesen an“ festgelegt. Screenshot: Logischer Ausdruck. Ein ODER-Operator verknüpft den Arbeitselementtyp mit den Feldern „Status“ und „Zugewiesen an“, die durch einen UND-Operator verknüpft sind.

Diese Abfragen geben Arbeitselemente vom Typ „Fehler“ zurück und erfüllen die folgenden logischen Ausdrücke:

  • Abfrage 1: AND State=Active OR Assigned to @Me
  • Abfrage 2: AND (State=Active OR Assigned to @Me)
  • Abfrage 3: OR (State=Active AND Assigned to @Me)

Zum Gruppieren von Klauseln wählen Sie diese und dann das Symbol zum Gruppieren von Klauseln aus.

Screenshot: Webportal, Abfrage-Editor, Gruppieren ausgewählter Abfrageklauseln.

Sie können auch mehrere gruppierte Klauseln gruppiert. Aktivieren Sie die Kontrollkästchen jeder Klausel. Wählen Sie dann das -Gruppenklauselnsymbol aus.

Screenshot: Webportal, Abfrage-Editor, Gruppieren mehrerer Abfrageklauseln.

Wenn die Abfrageergebnisse nicht den erwarteten Ergebnissen entsprechen, führen Sie die folgenden Schritte aus:

  • Stellen Sie sicher dass jede Klausel wie beabsichtigt definiert wurde.
  • Überprüfen Sie die And/Or-Zuordnungen jeder Klausel. Wenn die Ergebnisse mehr Arbeitselemente als erwartet enthalten, wurde häufig eine Or-Klausel anstelle einer And-Klausel verwendet.
  • Ermitteln Sie, ob Sie die Gruppierung der Abfrageklauseln und der And/Or-Zuweisungen der einzelnen gruppierten Klauseln gruppieren oder ändern müssen.
  • Fügen Sie weitere Abfrageklauseln hinzu, um die Abfragefilterkriterien zu präzisieren.
  • Überprüfen Sie die verfügbaren Optionen zum Angeben von Feldern, Operatoren und Werten.
  • Weitere Informationen finden Sie unter den bewährten Methoden weiter unten in diesem Artikel.

Aufheben der Gruppierung einer Klausel

Um die Gruppierung einer Klausel aufzuheben, wählen Sie das Symbol zum Aufheben der Gruppierung von Klauseln für die gruppierte Klausel aus.

Festlegen der Standardspaltenbreite in Abfrageergebnissen

Führen Sie die folgenden Schritte aus, um die Standardspaltenbreite in Abfrageergebnissen festzulegen:

  1. Öffnen Sie die Abfrage aus, die Sie ändern möchten.
  2. Passen Sie die Spaltenbreiten manuell an die gewünschte Größe an, indem Sie die Ränder der Spaltenüberschriften ziehen.
  3. Wählen Sie Speichern oder Speichern als aus, wenn Sie sie als neue Abfrage speichern möchten.
  4. Schließen Sie die Abfrage, und öffnen Sie sie erneut, um sicherzustellen, dass die Spaltenbreiten beibehalten werden.

Azure DevOps unterstützt derzeit nicht das Festlegen einer Standardspaltenbreite, die in allen Sitzungen beibehalten wird. Die Spaltenbreiten werden pro Abfrage gespeichert, daher müssen Sie sie für jede Abfrage einzeln anpassen und speichern.

Anzeigen von Abfrageergebnissen in einem Dashboard

Die folgenden beiden Widgets zeigen Abfrageergebnisse an. Sie können Arbeitselemente direkt über diese Widgets öffnen.

  • Mir zugewiesene Arbeit: Listet alle vorgeschlagenen oder aktiven Arbeitselemente auf, die dem angemeldeten Benutzer zugewiesen sind. Listet die Felder „ID“, „Status“ und „Titel“ auf.
  • Abfrageergebniswidget: Zeigt die Ergebnisse einer Flatlist-, Struktur- oder Direktlinkabfrage an. Sie können die über das Widget angezeigten Felder konfigurieren, die Größe der Spaltenfelder ändern sowie Struktur- und Direktlinkabfragen erweitern und reduzieren.

Weitere Informationen finden Sie unter Hinzufügen von Widgets zu einem Dashboard.

Anzeigen des Abfrageergebniswidgets mit übergeordneten Titeln

Sie können die Ergebnisse einer Abfrage mit angezeigtem Übergeordneten Titel anzeigen. Führen Sie dazu die folgenden Schritte aus:

  1. Erstellen Sie die Abfrage, die die relevanten Arbeitselemente filtert. Die Abfrage kann eine Flatlist-, Struktur- oder Direktlinkabfrage sein.
  2. Fügen Sie das Feld Übergeordnet als Spalte hinzu.
  3. Speichern Sie die Abfrage als freigegebene Abfrage oder als Teamfavorit.
  4. Fügen Sie ihrem Dashboard das Abfrageergebniswidget hinzu, und konfigurieren Sie die Abfrage. Stellen Sie sicher, dass das Feld „Übergeordnet“ für die Anzeige festgelegt ist.

Die folgende Abbildung zeigt ein Abfrageergebniswidget, das das Feld Übergeordnet anzeigt.

Screenshot: Abfrageergebniswidget mit einem übergeordneten Spaltenfeld.

Für einen Abfragelink wird die mit Transact-SQL vergleichbare Work Item Query Language (WIQL) verwendet. Weitere Informationen finden Sie unter Syntax für die Arbeitselement-Abfragesprache (Work Item Query Language, WIQL).

Hinweis

Die meisten Browser erzwingen einen Grenzwert von 2.000 bis 2.083 Zeichen für eine URL-Zeichenfolge.

Codieren Sie den WIQL-Teil der URL-Syntax. Sie können ein beliebiges URL-Encodertool verwenden, um Ihre URL zu codieren.

https://dev.azure.com/OrganizationName/ProjectName/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage}

Der folgende Link listet beispielsweise die ID und den Titel aller aktiven Fehler auf, die unter dem Bereichspfad „FabrikamFiber/Web“ für die Organisation „Fabrikam“ definiert sind.

https://dev.azure.com/fabrikam/FabrikamFiber/_workitems?_a=query&wiql=SELECT%20%5BSystem.ID%5D%2C%20%5BSystem.Title%5D%20FROM%20WorkItems%20WHERE%20%5BSystem.TeamProject%5D%3D'FabrikamFiber'%20AND%20%5BSystem.WorkItemType%5D%3D'Bug'%20AND%20%5BSystem.State%5D%3D'Active'%20AND%20%5BSystem.AreaPath%5D%3D'FabrikamFiber%5CWeb'

Die decodierte WIQL sieht wie folgt aus:

SELECT [System.ID], [System.Title]
   FROM WorkItems 
   WHERE [System.TeamProject]='FabrikamFiber' 
   AND [System.WorkItemType]='Bug'
   AND [System.State]='Active'
   AND [System.AreaPath]='FabrikamFiber\Web'

Hinweis

Die WIQL-Länge darf 32.000 Zeichen für Azure Boards-Abfragen nicht überschreiten.

https://{ServerName}/{CollectionName}/{ProjectName}/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage}

Der folgende Link listet beispielsweise die ID, den Titel und den Status aller Fehler unter dem Bereichspfad „FabrikamFiber/Web“ auf:

http://fabrikam:8080/tfs/DefaultCollection/FabrikamFiber/_workitems?_a=query&wiql=SELECT%20%5BSystem.ID%5D%2C%20%5BSystem.Title%5D%2C%20%5BSystem.State%5D%20FROM%20WorkItems%20WHERE%20%5BSystem.TeamProject%5D%3D'FabrikamFiber'%20AND%20%5BSystem.WorkItemType%5D%3D'Bug'%20AND%20%5BSystem.AreaPath%5D%3D'FabrikamFiber%5CWeb'%20%20

Sehen Sie sich z. B. den folgenden nicht codierten Eintrag an.

http://fabrikam:8080/tfs/DefaultCollection/FabrikamFiber/_workitems?_a=query&wiql=
SELECT [System.ID], [System.Title], [System.State] 
   FROM WorkItems 
   WHERE [System.TeamProject]='FabrikamFiber' 
   AND [System.WorkItemType]='Bug' 
   AND [System.AreaPath]='FabrikamFiber\Web'   

Bewährte Methoden

Die folgenden bewährten Methoden gelten für die folgenden Abfragen, die Sie erstellen können:

Erstellen gezielter selektiver Abfragen

Definieren Sie eine hochgradig selektive Abfrage, indem Sie alle Filter anwenden, die für Ihre Abfrage erforderlich sind. Je selektiver die Abfrage, desto kleiner das Resultset. Je kleiner das Resultset, desto gezielter und selektiver die Abfrage.

Kategorisieren von Arbeitselementen mithilfe von Tags

Verwenden Sie Arbeitselementtags, um Ihre Arbeitselemente zu kategorisieren, anstelle eines benutzerdefinierten Felds. Abfragen mit tagbasierter Filterung sind in der Regel schneller als Abfragen, bei denen nach Zeichenfolgenüberstimmungen gefiltert wird.

Anders als bei Übereinstimmungen mit benutzerdefinierten Feldern oder bei partiellen Übereinstimmungen ist bei einer Abfrage mit einem Vorgang vom Typ Tags Contains keine vollständige Überprüfung aller Arbeitselementtabellen erforderlich.

Verwenden von Contains words zum Abfragen übereinstimmender Zeichenfolgen

Wenn Sie nach einer Zeichenfolgenübereinstimmung filtern möchten, verwenden Sie den Operator Contains Words anstelle des Operators Contains. Der Operator Contains Words führt eine Volltextsuche für das angegebene Feld aus, die in der Regel schneller abgeschlossen wird.

Der Contains-Operator führt einen Tabellenscan durch. Dieser Vorgang ist langsamer als beim Contains Words-Operator. Außerdem werden mehr CPU-Zyklen beansprucht. Diese CPU-Zyklen können zu Ratenbegrenzungen führen. Weitere Informationen finden Sie unter Grenzwerte für Rate und Nutzung.

Angeben kleiner Gruppen mit dem Operator In Group

Der Operator In Group filtert Arbeitselemente basierend auf Übereinstimmungen innerhalb einer Gruppe von Werten. Die Gruppe von Werten entspricht denen, die in einem Team, einer Sicherheitsgruppe oder einer Arbeitsüberwachungskategorie enthalten sind. So können Sie beispielsweise eine Abfrage erstellen, um nach allen Arbeitselementen zu suchen, die einem beliebigen Mitglied eines Teams zugewiesen sind. Ein anderes Beispiel wäre eine Suche nach allen Arbeitselementen, die zur Anforderungskategorie (Microsoft.RequirementCategory) gehören.

Wenn Sie nach einer Gruppe filtern, die eine große Anzahl von Mitgliedern enthält, ist Ihr Resultset in der Regel größer und nicht selektiv. Wenn eine Gruppe einer großen Microsoft Entra-Gruppe entspricht, ist die Abfrage außerdem ziemlich aufwendig, da diese Gruppe in Microsoft Entra ID aufgelöst werden muss.

Vermeiden negierter Operatoren

Negierte Operatoren (z. B. <>, Not In, Not Under, Not In Group) generieren in der Regel nicht selektive Abfragen und große Resultsets.

Verwenden Sie negierte Operatoren nur, wenn es sich nicht vermeiden lässt. Versuchen Sie immer zuerst, Alternativen zu finden. Wenn also beispielsweise Field1 die Werte A, B, C, und D aufweist, geben Sie nicht die negierte Klausel Field1 In A, B, C an, sondern die Klausel Field1 <> D.

Vermeiden von Zeichenfolgenvergleichen

Abfragen, die Zeichenfolgenvergleiche enthalten, generieren Tabellenscans, die von Natur aus ineffizient sind. Stattdessen empfiehlt es sich, alternativ Tags oder ein bestimmtes benutzerdefiniertes Feld zu verwenden – insbesondere bei Abfragen mit unbefriedigender Leistung.

Einschränken von Or-Operatoren

Schränken Sie in Ihrer Abfrage die Anzahl definierter Or-Operatoren ein. Abfragen funktionieren besser, wenn weniger Or-Operatoren verwendet werden. Zu viele Or-Operatoren können dazu führen, dass Ihre Abfrage nicht mehr selektiv ist. Wenn Ihre Abfrage langsam ausgeführt wird, platzieren Sie die Or-Operatorklausel im oberen Bereich der Abfrageklauseln.

Speichern Ihrer Abfrage

Aufgrund interner Optimierungen funktionieren gespeicherte Abfragen in der Regel besser als nicht gespeicherte Abfragen. Speichern Sie Ihre Abfrage immer, wenn Sie sie wiederverwenden möchten. Auch bei WIQL-Abfragen, die über eine REST-API ausgeführt werden, empfiehlt es sich, die WIQL über das Webportal zu speichern, um Ihre REST-API-Aufrufe weniger anfällig für zukünftige Leistungsregressionen zu machen.

Ausführen Ihrer Abfrage

Manchmal müssen Sie Ihre Abfrage mehrmals ausführen, um den richtigen Optimierungsplan zu erzielen. Speichern Sie Ihre Abfrage, und führen Sie sie bis zu 10-mal über einen Zeitraum von 30 Minuten aus. Dadurch kann das System den Optimierungsplan untersuchen und den Plan ermitteln, der für Ihre Abfrage am besten geeignet ist.