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:
- Sie benötigen Beteiligtenzugriff, um freigegebene Abfragen anzuzeigen und auszuführen. Alle Projektmitglieder haben standardmäßig Beteiligtenzugriff. Weitere Informationen finden Sie unter Ändern der Berechtigungen für eine freigegebene Abfrage oder einen freigegebenen Ordner.
- Um eine Abfrage hinzufügen oder speichern zu können, müssen Sie mindestens über Zugriff vom Typ Basic verfügen.
- 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.
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.
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.
- Wählen Sie Neu>Neue Abfrage aus.
Der Abfrage-Editor wird mit den folgenden Standardeinstellungen angezeigt: Flatlist der Arbeitselemente, Arbeitselementtyp=[Beliebig] und Status=[Beliebig].
- Ä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.
- Wählen Sie Neu>Neue Abfrage aus.
Der Abfrage-Editor wird mit den folgenden Standardeinstellungen angezeigt: Flatlist der Arbeitselemente, Arbeitselementtyp=[Beliebig] und Status=[Beliebig].
- Ä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.
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.
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.
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
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.
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.
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.
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.
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.
Verwenden von Direktlinks zum Anzeigen von Abhängigkeiten
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.
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 | ||
2 | ||
3 |
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.
Sie können auch mehrere gruppierte Klauseln gruppiert. Aktivieren Sie die Kontrollkästchen jeder Klausel. Wählen Sie dann das -Gruppenklauselnsymbol aus.
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 eineOr
-Klausel anstelle einerAnd
-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:
- Öffnen Sie die Abfrage aus, die Sie ändern möchten.
- Passen Sie die Spaltenbreiten manuell an die gewünschte Größe an, indem Sie die Ränder der Spaltenüberschriften ziehen.
- Wählen Sie Speichern oder Speichern als aus, wenn Sie sie als neue Abfrage speichern möchten.
- 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:
- Erstellen Sie die Abfrage, die die relevanten Arbeitselemente filtert. Die Abfrage kann eine Flatlist-, Struktur- oder Direktlinkabfrage sein.
- Fügen Sie das Feld Übergeordnet als Spalte hinzu.
- Speichern Sie die Abfrage als freigegebene Abfrage oder als Teamfavorit.
- 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.
Definieren einer Abfrage als Link
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.
Abfragelinksyntax
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.
Abfragelinksyntax
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.