Abfragen nach Titeln, IDs und Rich-Text-Feldern in Azure Boards und Azure DevOps

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

Wenn Sie basierend auf einem Schlüsselwort, einem Ausdruck oder einem NULL-Textfeld nach Arbeitselementen suchen möchten, können Sie dazu nach einzeiligem Text (String), mehrzeiligem Text (PlainText) und Rich-Text-Feldern (HTML) filtern. Wenn Sie feststellen, dass Ihre Abfragen zu lange dauern, um Ergebnisse zurückzugeben, lesen Sie Erstellen einer Abfrage/Bewährte Methoden.

Unterstützte Operatoren und Makros

In Abfrageklauseln mit einem Text- oder Rich-Text-Feld können die in der folgenden Tabelle aufgeführten Operatoren und Makros verwendet werden.


Datentyp

Unterstützte Operatoren und Makros


Rich-Text (HTML)
Mehrzeilige Textzeichenfolgen (PlainText)

Contains Words, Does Not Contain Words, Is Empty1, Is Not Empty1


Einzelne Textzeichenfolge (String)

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, Does Not Contain, In, Not In, In Group, Not In Group, Was EverMakros: [Any] (gültig mit dem Feld Arbeitselementtyp) und @Project2 (gültig mit dem Feld Teamprojekt).


ID

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was EverMakros: @Follows, @MyRecentActivity, @RecentMentions und @RecentProjectActivity (gültig mit dem Feld ID und den Operatoren In und Not In), @Project2 (gültig mit dem Feld Teamprojekt).


Felder Zustand und Arbeitselementtyp

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Enthält, Enthält nicht, In, Nicht in, In Gruppe, Nicht in Gruppe, War schon einmal **Macros**:[Any]` (gültig mit beiden Feldern).


Hinweis

  1. Die Operatoren Is Empty und Is Not Empty werden für Azure DevOps Server 2019 RC2 und höher unterstützt
  2. Standardmäßig filtert das System automatisch basierend auf dem aktuellen Projekt. Weitere Informationen finden Sie unter Projektübergreifende Abfrage.

Verwenden von Contains words zum Abfragen übereinstimmender Zeichenfolgen

Wenn Sie nach einer übereinstimmenden Zeichenfolge filtern möchten, verwenden Sie den Operator Contains Words anstelle von Contains. Der Operator Contains Words führt eine Volltextsuche für das angegebene Feld aus, was in den meisten Fällen schneller ist. Die Zeichenfolge darf maximal 100 Zeichen enthalten.

Der Operator Contains führt dagegen einen Tabellenscan aus, der nicht nur langsamer ist, sondern auch mehr CPU-Zyklen verbraucht. Diese CPU-Zyklen werden auf die Ratenbegrenzung für Ihren Ressourcenverbrauch angerechnet.

Hinweis

Der Contains Words Operator verwendet den Index für die Volltextsuche von SQL. Wenn ein neuer Wert in einem langen Textfeld gespeichert wird, führt SQL Server Folgendes aus:

  • Aufteilen des Ausdrucks in einzelne Wörter
  • Entfernen Sie alle allgemeinen Wörter, die einer Suche keinen wirklichen Wert hinzufügen (z. B. „ein“ oder „ist“ auf Deutsch)
  • Wandeln Sie Wörter in ihren gemeinsamen Stamm um (z. B. Laufen, lief und Läufer würden in „Lauf“ umgewandelt, da sie alle Variationen dieses Worts sind)
  • Speichern Sie diese eindeutigen Schlüsselwörter in einem Index.

Wenn ein Benutzer dann eine Abfrage für dieses Feld mithilfe des Contains Words-Operators ausführt, wird die Suche für die eindeutigen Schlüsselwörter ausgeführt, die im Index gespeichert sind. Bei langen Textfeldern ist die Suche wesentlich effizienter und schneller als bei einer Substring-Suche. SQL definiert ein „Wort“ standardmäßig als Satz von Zeichen zwischen Interpunktion. Beispielsweise kennzeichnen Punkte das Ende eines Worts, aber der Punkt wird nicht als Teil des Worts betrachtet. Da der Index für die Volltextsuche Schlüsselwörter anstelle exakter Ausdrücke enthält, erhalten Sie letztendlich alle Ergebnisse, die dieselben Schlüsselwörter enthalten, wie durch die Indizierung bestimmt.

Schlüsselwort- oder ausdrucksbasierte Abfrage mit Platzhaltern

Verwenden Sie Enthält oder Enthält Wörter, um Elemente aufzulisten, die partiell oder genau den Wörtern oder dem Ausdruck entsprechen, die bzw. den Sie eingeben.

Editor für die Abfrage einer flachen Liste zum Filtern nach Schlüsselwörtern.

Wählen Sie Enthält oder Enthält nicht aus, um nach genauen oder partiellen Übereinstimmungen mit einem Wort oder einem Ausdruck zu suchen. Wählen Sie Enthält Wörter oder Enthält keine Wörter aus, um nach genauen Übereinstimmungen mit einem Ausdruck zu suchen bzw. das Platzhalterzeichen (*) zu verwenden. Bei Verwendung dieser Operatoren wird der Index für die Volltextsuche verwendet.

Geben Sie z. B. Enthält Wörter und inform* an, um nach einem Textfeld zu filtern, das informieren, Information oder informativ enthält.

Verwenden des Platzhalters mit „Enthält Wörter“.

Tipp

Informationen zur Gruppierung von AND/OR-Klauseln finden Sie unter Erstellen und Speichern von verwalteten Abfragen – Gruppenklauseln. Um die WIQL-Syntax für eine Abfrage anzuzeigen, installieren Sie die WIQL-Erweiterung für den Abfrage-Editor, mit der Sie die WIQL-Version eines beliebigen Abfrage-Editor-Eintrags anzeigen können.

Abfragen nach bestimmten Wörtern unter Ausschluss anderer Wörter

Verwenden Sie die Operatoren Enthält Wörter und Enthält keine Wörter, um Elemente auflisten, die genau mit den eingegebenen Wörtern oder dem eingegebenen Ausdruck übereinstimmen, und andere Wörter oder Ausdrücke auszuschließen. Sie können diese Operatoren kombinieren und mit dem Platzhalterzeichen (*) verwenden.

Im folgenden Beispiel filtern diese Operatoren die Arbeitselemente nach den Elementen, die das Wort Phase enthalten, aber nicht das Wort Phasor.

Screenshot des Abfrage-Editors: Ein- und Ausschließen genauer Wörter.

Abfragen von nicht definierten Feldwerten

Sie können Arbeitselemente mit einem nicht definierten Feldwert finden, indem Sie den Gleichheitsoperator (=) verwenden und den Wert für das Feld leer lassen. Die folgenden Filter listen beispielsweise alle Arbeitselemente des Typs „Aufgabe“ auf, deren Feld „Aktivität“ leer ist.

Auf der Grundlage von leeren Einträgen filtern

Um Arbeitselemente basierend auf einem Feld aufzulisten, das nicht leer ist, verwenden Sie den NOT-Operator (<>), und lassen Sie den Wert leer.

Abfragen von leeren oder nicht leeren HTML-Feldern

Sie können Arbeitsaufgaben mit leeren Beschreibungen ermitteln. Die Verwendung von Ist leer oder Ist nicht leer mit einem HTML-Feld ermöglicht das Auflisten von Arbeitselementen mit leeren oder nicht leeren Rich-Text-Feldern. Sie geben mit diesem Operator keinen Wert an.

Die folgenden Abfragefilter listen beispielsweise alle Arbeitselemente mit Einträgen im Feld Beschreibung auf.

Filtern auf Grundlage von nicht leeren HTML-Feldern

Filtern nach Sonderzeichen

Um nach einer URL oder einem Ausdruck zu filtern, der Sonderzeichen wie / oder - enthält, verwenden Sie einen umgekehrten Schrägstrich als Escapezeichen für diese Zeichen. Die folgenden Beispiele zeigen, wie Sie nach einer URL und nach einem Ausdruck mit einem Gedankenstrich filtern:

  • Filtern nach einer URL: Suchen Sie nach einem Arbeitselementtitel, der den Ausdruck https://example.com/path-to-resource enthält.

    • Abfrage: Title ~ "https:\/\/example.com\/path-to-resource"
    • Ergebnisse: Gibt alle Arbeitselemente mit der exakten URL im angegebenen Feld zurück.
  • Filtern nach einem Ausdruck mit einem Gedankenstrich: Suchen Sie nach einem Arbeitselementtitel, der "your-phrase-with-dash" enthält.

    • Abfrage: Title ~ "feature-update\-2023"
    • Ergebnisse: Gibt alle Arbeitselemente zurück, die den exakten Ausdruck mit Bindestrichen im angegebenen Feld enthalten.

Hinweis

Sie können keine Arbeitselemente abfragen, an die keine Tags angefügt sind. Sie können auf unserer Entwicklercommunity-Seite Be able to search for empty tags (Möglichkeit zur Suche nach leeren Tags) für diese Featureanforderung stimmen.

Kategoriebasierte Abfragen

Um Arbeitselemente auf Grundlage der Kategorie zu filtern, der sie angehören, verwenden Sie den Operator In Gruppe. Die folgenden Filterkriterien geben z. B. alle Arbeitselemente zurück, die sich im aktuellen Projekt befinden, dem Teammitglied zugewiesen sind und per Definition der Kategorie „Fehler“ angehören.

Abfrageklausel zum Suchen nach Arbeitselementen nach Kategorie

Welche Elemente werden in den Kategorien „Anforderung“ oder „Aufgabe“ angezeigt?

Im Folgenden werden die Standardzuweisungen der Arbeitselementtypen zu den einzelnen Kategorien für jeden Prozess aufgeführt.

Prozess Anforderungskategorie Aufgabenkategorie
Standard Problem Aufgabe
Agilität User Story Aufgabe
Scrum Product Backlog Item, Fehler Aufgabe
CMMI Anforderung Aufgabe

Jedes Team kann festlegen, ob der Arbeitselementtyp „Fehler“ in der Kategorie „Anforderung“ oder „Aufgabe“ angezeigt wird. Weitere Informationen finden Sie unter Anzeigen von Fehlern in Backlogs und Boards. Sie können einem Backlog benutzerdefinierte Arbeitselementtypen hinzufügen. Weitere Informationen finden Sie unter Hinzufügen oder Ändern eines Arbeitselementtyps – Hinzufügen eines benutzerdefinierten Arbeitselementtyps zu einem Backlog oder Board.

Abfragen von Arbeitselementen, denen Sie folgen

Sie können das Makro @Follows zusammen mit anderen Abfragefiltern verwenden, um eine Liste nach Arbeitselementen zu filtern, denen Sie folgen.

Die folgende Abfrage zeigt beispielsweise, wie Sie aktive Arbeitselemente, denen Sie folgen, projektübergreifend abfragen. Sie verwenden das Feld „ID“ und den Operator „In“ mit dem Makro @Follows.

Abfrage-Editor: Abfrageklausel mit „ID“, „In“ und @Follows

Abfragen der letzten Arbeitselementaktivität

Sie können die folgenden Makros verwenden, um Arbeitselemente basierend auf den letzten Aktivitäten aufzulisten:

  • @MyRecentActivity: Listet Elemente auf, die Sie kürzlich angezeigt oder geändert haben.
  • @RecentMentions: Listet Elemente auf, denen Sie in den letzten 30 Tagen mit @mention hinzugefügt wurden.
  • @RecentProjectActivity: Listet Elemente auf, die kürzlich in Ihrem Projekt erstellt oder geändert wurden.

Geben Sie das Feld ID und entweder den Operator In oder Nicht in an.

Die folgende Abfrage zeigt beispielsweise, wie Sie Arbeitselemente abfragen, die Sie kürzlich angezeigt oder geändert haben.

Abfrage-Editor: Abfrageklausel mit „ID“, „In“ und @MyRecentActivity

Allgemeine Felder für die meisten Arbeitselementtypen

In der folgenden Tabelle werden allgemeine Felder beschrieben, die zum Filtern von Abfragen verwendet werden. Die ID-Felder identifizieren Arbeitselemente in einer Liste eindeutig. Verwenden Sie das Feld Titel zur Unterscheidung des Arbeitselements von allen anderen Arbeitselementen desselben Typs. Das Feld Beschreibung und andere Rich-Text-Felder (Datentyp = HTML) enthalten zusätzliche Informationen, die zum Implementieren von Arbeiten und Nachverfolgen von Änderungen erforderlich sind. Nachdem ein Arbeitselement erstellt wurde, können Sie alle Felder mit Ausnahme von ID ändern. Beim Hinzufügen und Speichern eines Arbeitselements weist das System eine ID zu, die nicht geändert werden kann.

Hinweis

Das System indiziert automatisch alle Felder mit langem Text vom Datentyp PlainText und HTML für die Volltextsuche. Dazu zählen die Felder Titel, Beschreibung und Reproduktionsschritte. Weitere Informationen sowie Server- und Sortierungsanforderungen für lokale Azure DevOps-Bereitstellungen finden Sie unter Felder, Operatoren, Werte und Variablen für Abfragen – Volltext- und partielle Wortsuchen.

Feldname

Beschreibung

Arbeitsaufgabentyp


Akzeptanzkriterien 1

Eine Beschreibung der Kriterien, die erfüllt werden müssen, bevor der Fehler oder das Product Backlog Item geschlossen werden kann.

Vor Beginn der Bearbeitung eines Fehlers oder eines Product Backlog Items sollten die Kriterien für die Kundenakzeptanz so eindeutig wie möglich definiert werden. Durch Gespräche zwischen dem Team und den Kunden zur Festlegung der Akzeptanzkriterien wird sichergestellt, dass das Team über die Kundenerwartungen im Bilde ist. Die Akzeptanzkriterien können als Grundlage für Akzeptanztests verwendet werden, damit Sie effektiver auswerten können, ob ein Element zufriedenstellend abgeschlossen wurde.

Verweisname = Microsoft.VSTS.Common.AcceptanceCriteria, Datentyp = HTML

Fehler, Epic, Feature, Product Backlog Item (Scrum)

Beschreibung 1, 2

Verwenden Sie dieses Feld, um ausführliche Informationen zu einem Arbeitselement bereitzustellen.

Verweisname = System.Description, Datentyp = HTML

Alle

ID

Der eindeutige Bezeichner, der einem Arbeitselement zugewiesen wurde. Die Arbeitselement-IDs sind in allen Projekten und innerhalb einer Projektsammlung eindeutig.

Verweisname = System.Id, Datentyp = Integer

Alle

Reproduktionsschritte (oder „Zu reproduzierende Schritte“) 1

Die erforderlichen Schritte zum Reproduzieren des unerwarteten Verhaltens. Zeichnen Sie ausreichende Informationen auf, sodass andere Teammitglieder sowohl die vollständigen Auswirkungen des Problems verstehen als auch sicherstellen können, dass der Fehler behoben wurde. Zu diesem Eintrag gehören Aktionen zum Finden oder Reproduzieren des Fehlers und des erwarteten Verhaltens.
Verweisname=Microsoft.VSTS.TCM.ReproSteps, Datentyp=HTML

Bug

Lösung

Beschreibt, wie ein Impediment gelöst wurde.

Verweisname = Microsoft.VSTS.Common.Resolution, Datentyp = HTML

Hindernis (Scrum)

Systeminfo1

Informationen zur Software und zur Systemkonfiguration, die für den Fehler, die Codeüberprüfung oder das Feedback relevant sind.

Verweisname = Microsoft.VSTS.TCM.SystemInfo, Datentyp = HTML

Fehler, Codereviewanforderung, Feedbackanforderung

Teamprojekt

Das Projekt, zu dem ein Arbeitselement gehört. Fügen Sie einer Abfrage dieses Feld hinzu, wenn Sie Ihre Liste nach Elementen in einem oder mehreren Projekten filtern möchten. Weitere Informationen finden Sie unter Beispiel-Abfragen, Abfragen über alle Projekte.

Verweisname = System.TeamProject, Datentyp = String

Alle

Titel

Eine kurze Beschreibung mit einer Zusammenfassung der Arbeitsaufgabe, anhand derer Teammitglieder sie von anderen Arbeitsaufgaben in einer Liste unterscheiden können.

Verweisname = System.Title, Datentyp = String

Alle

Arbeitselementtyp

Der Name des Arbeitselementtyps. Arbeitselementtypen werden basierend auf dem Prozess definiert, den Sie beim Erstellen Ihres Projekts verwenden. Weitere Informationen finden Sie unter Prozesse und Prozessvorlagen und Hinzufügen oder Ändern eines Arbeitselementtyps.

Um Arbeitselemente basierend auf ihrer Kategoriezuweisung zu filtern, können Sie die Operatoren In Gruppe und Nicht in Gruppe verwenden und in der Dropdownliste eine Kategorie auswählen.

Verweisname = System.WorkItemType, Datentyp = String

All

Hinweis

Nach dem Upgrade auf Team Foundation Server 2012 wurde der Typ des Felds „Beschreibung“ von „PlainText“ in HTML geändert. Mithilfe des Befehls witadmin changefield können Sie den Datentyp für dieses Feld wiederherstellen. Weitere Informationen finden Sie unter Verwalten von Arbeitselementfeldern [witadmin].

REST-API

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