Abfragefelder, Operatoren und Makros

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

Tipp

Zum ersten Mal eine Abfrage ausführen? Beginnen Sie mit "Definieren einer Abfrage für Prozedurschritte" oder "Abfrage-Kurzübersicht " für Beispiele.

Verwenden Sie diese Referenzanleitung, um Felddatentypen, Abfrageoperatoren, Makros und Variablen beim Erstellen von Abfragen im Abfrage-Editor nachzuschlagen. Alle Operatoren und Makros werden in Azure Boards unterstützt. Einige gelten nur für bestimmte Azure DevOps Server Versionen.

Schnelle Beispiele und Editoraufgaben finden Sie unter "Abfrageschnellübersicht " und " Verwalten und Organisieren von Abfragen".

Voraussetzungen

Kategorie Anforderungen
Project-Mitgliedschaft Sie müssen als Mitglied des Projekts hinzugefügt werden.
Zugriffsebenen - Um freigegebene Abfragen anzuzeigen und auszuführen: Sie müssen ein Project Mitglied sein.
– Um eine freigegebene Abfrage hinzuzufügen und zu speichern: Sie müssen mindestens Basic-Zugriff haben.
Erlaubnisse Stellen Sie sicher, dass die Berechtigung "Mitwirken" auf " Zulassen " für den Ordner festgelegt ist, in dem Sie eine Abfrage hinzufügen möchten. Möglicherweise muss Ihre Organisation die Gruppe "Mitwirkende " manuell konfigurieren, um diese Berechtigung zu erteilen.

Hinweis

Sie benötigen sowohl eine ausreichende Zugriffsstufe als auch die Berechtigung "Mitwirken ", um freigegebene Abfragen zu speichern. Der grundlegende Zugriff reicht nicht aus.

Kategorie Anforderungen
Project-Mitgliedschaft Sie müssen als Mitglied des Projekts hinzugefügt werden.
Zugriffsebenen - Um freigegebene Abfragen anzuzeigen und auszuführen: Sie müssen ein Project Mitglied sein.
– Um eine freigegebene Abfrage hinzuzufügen und zu speichern: Sie müssen mindestens Basic-Zugriff haben.
Erlaubnisse Stellen Sie sicher, dass die Berechtigung "Mitwirken" auf " Zulassen " für den Ordner festgelegt ist, in dem Sie eine Abfrage hinzufügen möchten. Möglicherweise muss Ihre Organisation die Gruppe "Mitwirkende " manuell konfigurieren, um diese Berechtigung zu erteilen.

Hinweis

Sie benötigen sowohl eine ausreichende Zugriffsstufe als auch die Berechtigung "Mitwirken ", um freigegebene Abfragen zu speichern. Der grundlegende Zugriff reicht nicht aus.

Abfragefeld-Datentypen und -werte

Geben Sie einen Wert an, der dem Datentyp für ein Feld entspricht. In der folgenden Tabelle sind unterstützte Datentypen aufgeführt:

Hinweis

Für Azure Boards (Cloud) entspricht der Datentyp dem Feld, das auf der Seite Process > Fields angezeigt wird. Bei lokalen Bereitstellungen entspricht der Datentyp dem type Attribut einer FIELD Definition. Details finden Sie unter Arbeitselementfelder und Feldattribute .

Datentyp Description
Boolean Speichert einen True/False-Wert.
DateTime oder Datum/Uhrzeit Verwenden Sie eine Datumsvariable (z. B. @Today oder @Today-1) oder ein explizites Datum wie 01/01/2025. Geben Sie Datumsangaben im Muster ein, das in Ihrem Profil festgelegt ist. Beispiele für Abfragen finden Sie unter Query by date or @CurrentIteration. Für WIQL-Abfragen können Sie auch Datumsangaben in UTC angeben. Siehe Syntax für die Arbeitsaufgabenabfragesprache (WIQL).
Doppelt oder Dezimal Speichert eine reelle Zahl, z. B. 0,2 oder 3.5. Beispiele finden Sie unter "Abfrage nach numerischen Feldern ".
GUID Speichert eine eindeutige Id-Zeichenfolge.
Verlauf Benutzerdefiniertes formatiertes Feld, das für historische Informationen verwendet wird (das Feld "Verlauf "). Wenn die Volltextsuche verfügbar ist, wird dieses Feld für Volltextabfragen indiziert. Siehe Verlauf und Überwachung.
HTML Speichert formatierten Text, z. B. Beschreibung oder Repro-Schritte. Wenn die Volltextsuche verfügbar ist, werden diese Felder indiziert. Informationen zum Abfragen von Rich-Text-Feldern finden Sie unter Abfragen nach Titeln, IDs und Rich-Text-Feldern.
Identität Speichert eine kurze Textzeichenfolge, die eine Benutzeridentität identifiziert.
Integer Speichert eine signierte 32-Bit-Ganzzahl, z. B. 0, 1, 2 oder 34.
PlainText oder Textfeld (mehrzeilig) Speichert lange Textwerte, z. B. Anwendungsstartinformationen. Diese Felder indizieren für die Volltextsuche, wenn dies unterstützt wird. Siehe Abfrage nach Titeln, IDs und Rich-Text-Feldern.
picklistDouble Benutzerdefiniertes Feld, das eine Auswahlliste mit Dezimalwerten enthält.
picklistInteger Benutzerdefiniertes Feld, das eine Auswahlliste mit ganzzahligen Werten enthält.
picklistString Benutzerdefiniertes Feld, das eine Auswahlliste mit kurzen Textwerten (255 Zeichen oder weniger) enthält.
Zeichenfolge oder Textfeld (einzeilig) Speichert kurzen Text bis zu 255 Unicode-Zeichen. Teams verwenden diese Felder häufig für Auswahllisten oder Dropdownmenüs.
TreePath Stellt einen verzweigten Baum dar, z. B. Bereichspfad oder Iterationspfad. Wählen Sie einen gültigen Knotenwert aus. Sie können nach Gleichheit, Ungleichheit, "Unter" oder "Nicht unter" filtern. Verwenden Sie die In Operatoren, Not In um mehrere Werte anzugeben. Definieren Sie Strukturstrukturen für ein Projekt – Bereichspfade und Iterationspfade – und wählen Sie die Knoten aus, die mit Teams verknüpft werden sollen. Beispiele für Abfragen finden Sie unter Abfrage nach Bereich oder Iterationspfad und Abfrage nach Datum oder aktueller Iteration.

Hinweis

Die picklist... Typen gelten nur für benutzerdefinierte Felder, die für einen geerbten Prozess definiert sind.

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. Informationen zum Anzeigen oder Ändern Ihrer Auswahl finden Sie unter Festlegen von Benutzereinstellungen.

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.

Abfrageoperatoren

Verwenden Sie Operatoren, um zu definieren, wie ein Klauselwert mit dem Feldwert einer Arbeitsaufgabe zusammenhängen muss. Informationen zu Felddatentypen finden Sie unter Feldreferenz für Arbeitselement. Hilfe zum Erstellen von Abfragen finden Sie unter Definieren einer Abfrage.

Abfrageoperator Wenn der Operator übereinstimmende Arbeitsaufgaben zurückgibt Anwendbare Datentypen
= Entspricht dem Klauselwert. Number (Double/Decimal/GUID/Integer), String, DateTime, TreePath
<> Stimmt nicht mit dem Klauselwert überein. Number, String, DateTime, TreePath
> Ist größer als der Klauselwert. Zahl, String, Datumszeit
< Ist kleiner als der Klauselwert. Zahl, String, Datumszeit
>= Ist größer oder gleich dem Klauselwert. Zahl, String, Datumszeit
<= Ist kleiner oder gleich dem Klauselwert. Zahl, String, Datumszeit
=[Field] Entspricht dem Wert in einem anderen angegebenen Feld (muss derselbe Datentyp sein). Name eines Felds desselben Datentyps (boolesche Felder vergleichen die Gleichheit mit anderen Feldern).
<>[Feld] Stimmt nicht mit dem Wert in einem anderen angegebenen Feld überein. Name eines Felds desselben Datentyps.
>[Feld] Ist größer als der Wert in einem anderen angegebenen Feld. Name eines Felds desselben Datentyps.
<[Feld] Ist kleiner als der Wert in einem anderen angegebenen Feld. Name eines Felds desselben Datentyps.
>=[Feld] Ist größer oder gleich dem Wert in einem anderen angegebenen Feld. Name eines Felds desselben Datentyps.
<=[Feld] Ist kleiner oder gleich dem Wert in einem anderen angegebenen Feld. Name eines Felds desselben Datentyps.
Enthält Enthält eine genaue oder teilweise Textabgleichung. String
Enthält nicht Enthält keine exakte oder partielle Textabgleichung. String
Enthält Wörter Entspricht einem exakten Ausdruck oder Wort (unterstützt nachfolgende Wildcard *). Grenzwert: 100 Zeichen. Dieser Operator verwendet Volltextindizierung; Weitere Informationen zu Server- und Sortierungsanforderungen finden Sie im Abschnitt "Volltext" in diesem Artikel. Lange Textfelder, die für die Volltextsuche indiziert sind (PlainText, HTML, History und Title).
Enthält keine Wörter Schließt Elemente aus, die den angegebenen Ausdruck oder die angegebenen Wörter enthalten. Grenzwert: 100 Zeichen. Verwenden Sie Contains Words in Begleitsätzen, um Schlüsselwörter einzuschließen oder auszuschließen. Textfelder, die für die Volltextsuche indiziert sind.
In Entspricht einem beliebigen Wert in einem durch Trennzeichen getrennten Satz (verwenden Sie das regionale Listentrennzeichen des Betriebssystems, in der Regel ein Komma). Number, String, DateTime, TreePath
Ist leer Gleicht Elemente ab, bei denen ein HTML-Feld keinen Inhalt enthält (kein Wert angegeben). Unterstützt für Azure Boards und Azure DevOps Server. HTML
Ist nicht leer Gleicht Elemente ab, bei denen ein HTML-Feld Inhalt enthält. Unterstützt für Azure Boards und Azure DevOps Server. HTML
Nicht in Schließt Werte in einem durch Trennzeichen getrennten Satz aus (verwenden Sie das regionale Listentrennzeichen). Unterstützt für Azure Boards und Azure DevOps Server. Number, String, DateTime, TreePath
In Gruppe Gleicht Werte ab, die Mitglieder einer benannten Gruppe sind (Team, Sicherheitsgruppe oder Kategorie). Verwenden Sie z. B. die Gruppe "Mitwirkende" oder eine Teamgruppe, die im Muster [Project Name]\Team Namebenannt ist. Beispiele finden Sie unter "Abfrage nach Zuweisung" oder "Workflowänderungen" . Verwenden Sie „In Gruppe“ nur für Felder des Typs „String“ oder des Typs „Arbeitselement“. Sie können Microsoft Entra ID-Gruppen verwenden, wenn Ihr Konto Microsoft Entra ID nutzt, oder Active Directory-Gruppen für lokale Umgebungen. Zeichenfolge (entspricht Gruppen- oder Teamnamen) oder Arbeitselementtyp
Nicht in Gruppe Schließt Mitglieder einer benannten Gruppe aus. Zeichenfolge, die einer Benutzergruppe oder Projektkategorie entspricht.
Nicht unter Schließt Elemente aus, die gleich dem angegebenen Strukturknoten sind oder sich unter diesem befinden. TreePath
Under Vergleicht Elemente, die dem angegebenen Baumknoten entsprechen oder darin enthalten sind. TreePath
Was Ever Entspricht einem Wert, den ein Feld zu einem beliebigen zeitpunkt gehalten hat. (Abfrage-Editor: Nur Zeichenfolgenfelder. Die DateTime-Unterstützung erfordert direkte WIQL-Abfragen.) Zeichenkette, DatumUhrzeit

Tipp

Sie können WIQL-Abfragen erstellen, die Operatoren (z. B. Was Ever) für unterschiedliche Datentypen wie den Iterationspfad anwenden. Ein Beispiel finden Sie unter Arbeitsaufgaben, die aus einem Sprint verschoben wurden, auflisten.

Häufige Operatorbeispiele

Hier sind repräsentative Abfragebeispiele, die verschiedene Operatoren verwenden:

Query Returns
State = Active Arbeitselemente mit dem Status "Aktiv"
Priority <> Low Alle Elemente mit Ausnahme von Elementen mit niedriger Priorität
Created Date >= @Today-7 Arbeitsaufgaben, die in den letzten 7 Tagen erstellt wurden
Assigned To = @Me Elemente, die dem aktuellen Benutzer zugewiesen sind
Tags Contains "frontend" Elemente mit einem Tag mit "frontend"
State In (Active, In Progress) Elemente in einem der beiden Zustände
Area Path Under "Project\Web" Alle Elemente im Webbereich, einschließlich Unterbereiche
Assigned To In Group "[Project]\Developers" Elemente, die jeder Person in der Gruppe "Entwickler" zugewiesen sind
Description Contains Words "urgent" Elemente, bei denen die Beschreibung das Wort "dringend" enthält

Volltext- und Teilwortsuchen

Verwenden Sie „Enthält“ oder „Enthält nicht“, um in Langtextfeldern nach exakten oder teilweisen Übereinstimmungen zu suchen. Diese Operatoren verwenden den Abfrageindex. Verwenden Sie Enthält Wörter oder Enthält keine Wörter, um nach exakten Wortgruppen zu suchen, oder verwenden Sie einen Platzhalter am Wortende (*). Für diese Operatoren ist der Volltextindex erforderlich.

Sie können das Platzhalterzeichen nur am Ende eines Teilwortes oder Ausdrucks verwenden. Beispiele finden Sie unter Beispiele für Arbeitselementabfragen und Abfragen von Arbeitselementen mithilfe des Verlaufsfelds.

Hinweis

Nicht alle Bereitstellungen unterstützen die Volltextsuche. Beispielsweise unterstützen SQL Express und einige Cloud-SQL-Konfigurationen keine Volltextsuche. In diesen Bereitstellungen sind nur die Operatoren „Contains“ und „Does Not Contain“ sichtbar.

Azure DevOps Server indiziert Langtextfelder (PlainText und HTML) und das Titelfeld für die Volltextsuche, wenn der zugrunde liegende SQL Server die Volltextindizierung unterstützt.

Die Volltextsuche erfordert auch eine SQL-Sortierung mit einem registrierten Worttrennzeichen für die verwendete Sprache. Wenn die Sammlungsdatenbanksortierung nicht mit einer unterstützten Sprache übereinstimmt, stimmen die Ergebnisse möglicherweise nicht mit den Erwartungen überein. Verwenden Sie in diesen Fällen "Contains" oder "Enthält nicht" stattdessen.

Weitere Informationen finden Sie unter Volltextsuchabfragen und Sortiereinstellungen.

Kombinieren von Operatoren

Abfragen verwenden AND-Logik , um mehrere Klauseln zu kombinieren. Jede zusätzliche Klausel filtert die Ergebnisse weiter. Beispiel:

  • State = Active AND Priority = High gibt Arbeitselemente zurück, die aktiv sind und eine hohe Priorität haben.
  • State = Active AND State <> Closed gibt aktive Elemente unter Ausschluss der als geschlossen gekennzeichneten zurück.
  • Assigned To = @Me AND State <> Done gibt Elemente zurück, die Ihnen zugewiesen und noch nicht abgeschlossen sind.

Sie können Klammern verwenden, um Bedingungen für komplexe Abfragen in direkter WIQL-Syntax zu gruppieren:

  • (State = Active OR State = In Progress) AND Priority = High gibt Elemente mit hoher Priorität mit dem Status „Aktiv“ oder „In Bearbeitung“ zurück.

Weitere Beispiele und WIQL-Syntaxdetails finden Sie unter Syntax für die Arbeitselementabfragesprache (WIQL).

Problembehandlung und häufige Fehler

Problem Wahrscheinliche Ursache Lösung
Makro gibt keine Ergebnisse zurück. @CurrentIteration funktioniert nur im Webportal; REST-APIs und CLI geben möglicherweise leere Ergebnisse zurück. Verwenden Sie stattdessen direkte Datumsangaben in Skripts oder APIs. Alternativen finden Sie unter Abfrage nach Datum oder aktueller Iteration.
@TeamAreas Abfrage gibt unerwartete Ergebnisse zurück. Makro funktioniert nur mit dem Feld "Bereichspfad "; Die Verwendung mit anderen Feldern hat keine Auswirkung. Überprüfen Sie, ob Sie nach Area Path filtern. Verwenden Sie stattdessen andere Strukturpfadfelder (Iterationspfad) mit dem Operator Unter.
Fehler beim Operator "Contains Words" Die Abfrage überschreitet den Grenzwert von 100 Zeichen oder verwendet ungültige Platzhalterplatzierung. Reduzieren Sie Abfragetext auf unter 100 Zeichen. Verwenden Sie das Platzhalterzeichen nur am Ende des Begriffs (zum Beispiel feature*), nicht am Anfang.
In der Gruppenabfrage schlägt ein Fehler fehl. Das Gruppennamenformat ist falsch oder die Gruppe ist nicht vorhanden. Verwenden Sie das genaue Format: Assigned To In Group "[Project]\\Team Name" für Teams. Überprüfen Sie den Gruppennamen in den Projekteinstellungen.
Hat der Ever-Operator bei Datumsangaben nicht funktioniert Der Abfrage-Editor unterstützt Was Ever für DateTime-Felder nicht. Verwenden Sie die direkte WIQL-Syntax anstelle des visuellen Abfrage-Editors. Weitere Informationen finden Sie unter Syntax für die Arbeitselement-Abfragesprache (Work Item Query Language, WIQL).
Boolesche Feldabfrage gibt keine Ergebnisse zurück. Bei WIQL-Abfragen wird die Groß-/Kleinschreibung beachtet. Verwenden Sie den genauen Fall: CustomBoolField = True oder CustomBoolField = False (Groß-/Kleinschreibung T/F in WIQL).

Abfragemakros und Variablen

Verwenden Sie die folgenden Makros, um Abfragen dynamisch zu filtern.

Hinweis

Die folgenden Makros werden nur über das Webportal unterstützt: @CurrentIteration, @CurrentIteration +/- n, @Follows, @MyRecentActivity, @RecentMentions, @RecentProjectActivity und @TeamAreas. Abfragen, die diese Makros enthalten, funktionieren nicht, wenn sie in Visual Studio/Team Explorer, Microsoft Excel oder Microsoft Project geöffnet werden.

Makro Description
[Any] Wird mit Arbeitselementtyp oder Zustand verwendet, um über alle Typen oder Zustände zu suchen. Entfernt beispielsweise die typbasierte Filterung Work Item Type=[Any].
@CurrentIteration Wird mit Iterationspfad verwendet, um basierend auf dem aktuellen Teamkontext nach Arbeitsaufgaben im aktuellen Sprint zu filtern. Beispiele finden Sie unter Abfrage nach Datum oder aktueller Iteration . @CurrentIteration funktioniert nur, wenn es über das Webportal ausgeführt wird (nicht in REST-APIs oder bei Kopier-/Klonvorgängen).
@CurrentIteration +/- n Wird mit Iterationspfad verwendet, um Sprints relativ zur aktuellen Iteration einzuschließen (z. B. @CurrentIteration-1 oder @CurrentIteration+2). Unterstützt im Webportal für Azure Boards und Azure DevOps Server.
@Follows Wird mit der ID und dem In-Operator verwendet, um die Arbeitsaufgaben aufzulisten, die Sie im Projekt verfolgen. Siehe Einem Arbeitselement oder Pull Request folgen Dieses Makro funktioniert nur über das Webportal.
@Me Wird mit Identitätsfeldern verwendet, um nach Elementen Created By=@Me zu filtern, die mit Ihrem Konto verknüpft sind (z. B.). Siehe Abfrage zu Zuordnungen, Workflows oder Änderungen am Board.
@MyRecentActivity Verwenden Sie ID und In zum Auflisten von Work Items, die Sie in den letzten ungefähr 30 Tagen aktualisiert oder angezeigt haben. Die gleiche Liste finden Sie auf der Seite Arbeitselemente Meine Aktivität.
@Project Mit Teamprojekt können Sie nach Arbeitsaufgaben im aktuellen Projekt filtern (z. B Team Project=@Project. ). Siehe Abfrage über Projekte hinweg.
@RecentMentions Verwenden Sie die ID und In zum Auflisten von Arbeitseinträgen, in denen Sie in Diskussionen erwähnt werden. Siehe die Seite Arbeitselemente, Pivot Erwähnt.
@RecentProjectActivity Wird mit ID und In verwendet, um kürzlich aktualisierte Arbeitsaufgaben im gesamten Projekt aufzulisten. Das Makro gibt bis zu 5.000 Elemente zurück. das tatsächliche Fenster hängt von der Projektaktivität ab.
@StartOfDay Wird mit DateTime-Feldern verwendet, um relativ zu heute zu filtern (z. B Closed Date>=@StartOfDay-7. ).
@StartOfMonth Wird mit DateTime-Feldern verwendet, um relativ zum Anfang des Monats zu filtern (z. B Created Date>=@StartOfMonth-3. ).
@StartOfWeek Wird mit DateTime-Feldern verwendet, um relativ zum Anfang der Woche zu filtern (z. B Changed Date>=@StartOfWeek-2. ).
@StartOfYear Wird mit DateTime-Feldern verwendet, um relativ zum Anfang des Jahres zu filtern (z. B Target Date>=@StartOfYear. ).
@TeamAreas Verwenden Sie den Bereichspfad nur mit dem =-Operator, um Elemente zu finden, die den Bereichspfaden eines Teams zugewiesen sind (z. B. Area Path=@TeamAreas [Fabrikam Fiber]\Web). Unterstützt im Webportal für Azure Boards und Azure DevOps Server.
@Today Wird mit DateTime-Feldern verwendet, um relativ zu heute zu filtern (z. B Created Date>=@Today-7. ). Siehe Abfrage nach Datum oder aktueller Iteration.

Allgemeine Makrobeispiele

Hier sind repräsentative Abfragebeispiele, die Makros verwenden, um Abfragen dynamisch zu gestalten:

Query Retouren (Webportal)
Iteration Path = @CurrentIteration Arbeitsaufgaben im aktuellen Sprint
Iteration Path = @CurrentIteration-1 Arbeitsaufgaben im vorherigen Sprint
Assigned To = @Me Elemente, die dem aktuellen Benutzer zugewiesen sind
Created Date >= @Today-30 Elemente, die in den letzten 30 Tagen erstellt wurden
State = Active AND Area Path = @TeamAreas [Project]\MyTeam Aktive Elemente im Bereich Ihres Teams
Work Item Type = [Any] Alle Arbeitsaufgabentypen (entfernt Typfilterung)
Assigned To In Group @Follows Elemente, die Personen zugewiesen sind, denen Sie folgen

Hinweis

Makros wie @CurrentIteration, @Me, @Followsund @TeamAreas funktionieren nur im Webportal. Verwenden Sie für REST-APIs, CLI und Power BI stattdessen direkte Datums- und Benutzer-IDs. Alternativen finden Sie unter Abfrage nach Datum oder aktueller Iteration.

REST-API

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