Projekt- und organisationsbezogene Abfragen

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

Mithilfe von Analytics für Azure DevOps können Sie Abfragen erstellen, die auf ein Projekt oder eine Organisation oder Sammlung ausgerichtet sind. Sie können diese Abfragen direkt in Ihrem Browser oder in Power BI ausführen.

Projektbereichsabfragen helfen Ihnen dabei, Fragen zu einem einzelnen Projekt zu beantworten, während Organisations- und Sammlungsabfragen ihnen ermöglichen, Fragen zu beantworten, die Projektgrenzen überschreiten. Organisations- und Sammlungsabfragen erfordern umfassendere Benutzerberechtigungen oder sorgfältige Bereichseinschränkungen, um sicherzustellen, dass Ihre Abfrage aufgrund fehlender Berechtigungen nicht blockiert wird.

Hinweis

Der Analysedienst wird automatisch aktiviert und in der Produktion für alle Dienste in Azure DevOps Services unterstützt. Power BI-Integration und Zugriff auf den OData-Feed des Analytics-Diensts sind allgemein verfügbar. Sie werden dazu ermutigt, den OData-Datenfeed für Analytics zu verwenden und Feedback zu geben.

Verfügbare Daten sind versionsabhängig. Die neueste unterstützte Version der OData-API ist v2.0, und die neueste Vorschauversion ist v4.0-preview. Weitere Informationen finden Sie unter OData-API-Versionsverwaltung.

Hinweis

Der Analysedienst wird automatisch installiert und in der Produktion für alle neuen Projektsammlungen für Azure DevOps Server 2020 und höhere Versionen unterstützt. Power BI-Integration und Zugriff auf den OData-Feed des Analytics-Diensts sind allgemein verfügbar. Sie werden dazu ermutigt, den OData-Datenfeed für Analytics zu verwenden und Feedback zu geben. Wenn Sie ein Upgrade von Azure DevOps Server 2019 durchführen, können Sie den Analysedienst während des Upgrades installieren.

Verfügbare Daten sind versionsabhängig. Die neueste unterstützte Version der OData-API ist v2.0, und die neueste Vorschauversion ist v4.0-preview. Weitere Informationen finden Sie unter OData-API-Versionsverwaltung.

Voraussetzungen

Kategorie Anforderungen
Zugriffsebenen - Projektmitglied.
– Mindestens einfacher Zugriff.
Erlaubnisse Standardmäßig verfügen Projektmitglieder über die Berechtigung zum Abfragen von Analysen und Erstellen von Ansichten. Weitere Informationen zu anderen Voraussetzungen für die Dienst- und Featureaktivierung sowie allgemeine Datenverfolgungsaktivitäten finden Sie unter Berechtigungen und Voraussetzungen für den Zugriff auf Analytics.

Wichtig

Wenn Sie keinen Zugriff auf alle Projekte in einer Organisation haben, wenden Sie einen Projektfilter auf alle Ihre Abfragen an. Verwenden Sie beim Abrufen von Daten in Clienttools wie Power BI oder Excel die Projektpfadsyntax, um sicherzustellen, dass alle Ihre Daten durch das angegebene Projekt eingeschränkt werden. Verwenden Sie organisationsbezogene oder sammlungsbezogene Abfragen nur, wenn Sie zwei oder mehr Projekte melden müssen.

Projektbezogene Abfragen

Sie erstellen eine Abfrage, indem Sie die OData-URL in einen unterstützten Webbrowser eingeben.

Die Basis-URL für eine OData-Abfrage auf Projektebene ist wie in der folgenden Syntax dargestellt.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/

Ersetzen Sie in den bereitgestellten Beispielen {OrganizationName} und {ProjectName} durch den Namen Ihrer Organisation und Ihres Projekts, die Sie abfragen möchten.

Hinweis

Die verbleibenden Beispiele in diesem Artikel basieren auf einer Azure DevOps Services-URL. Ersetzen Sie Ihre Azure DevOps Server-URL, um die Beispiele zu verwenden.

Anzahl der Arbeitsaufgaben zurückgeben

Die folgende Projektbereichsabfrage gibt beispielsweise die Anzahl der Arbeitsaufgaben für ein bestimmtes Projekt zurück.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v1.0/WorkItems/$count

Beispielsweise gibt eine Abfrage des Fabrikam Fiber-Projekts eine Anzahl von 7.126 Arbeitsaufgaben zurück. Gelöschte Arbeitsaufgaben sind nicht in der Zählung enthalten.

https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v1.0/WorkItems/$count

7126

Projektbereichspfade zurückgeben

Ebenso gibt die folgende Abfragezeichenfolge die Bereiche für ein bestimmtes Projekt zurück:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v1.0/Areas

Es entspricht dem folgenden Filter für eine organisationsspezifische Abfrage:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/Areas?
  $filter=Project/ProjectName eq '{ProjectName}'

Beispielsweise gibt eine Abfrage des Fabrikam Fiber-Projekts alle Eigenschaften zurück, die für einen Bereichspfad definiert sind, da in der Abfrage kein $select Operator angewendet wird.

https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v1.0/Areas

Das folgende Beispiel zeigt die Daten, die für einen einzelnen Bereichspfad zurückgegeben werden.

ProjectSK	"56af920d-393b-4236-9a07-24439ccaa85c"
AreaSK	"26be05fd-e68a-4fcb-833f-497f6bee45f2"
AreaId	"26be05fd-e68a-4fcb-833f-497f6bee45f2"
AreaName	"Service Delivery"
Number	55373
AreaPath	"Fabrikam Fiber\\Service Delivery"
AreaLevel1	"Fabrikam Fiber"
AreaLevel2	"Service Delivery"
AreaLevel3	null
AreaLevel4	null
AreaLevel5	null
AreaLevel6	null
AreaLevel7	null
AreaLevel8	null
AreaLevel9	null
AreaLevel10	null
AreaLevel11	null
AreaLevel12	null
AreaLevel13	null
AreaLevel14	null
Depth	1

Verwenden der Option $expand

Wenn Sie eine projektbezogene Abfrage mit einer $expand Option verwenden, müssen Sie keine anderen Filter bereitstellen.

Ein Beispiel für einen projektbezogenen Filter ist der folgende:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v1.0/WorkItems?
  $expand=Parent

Wird automatisch gefiltert, um Sicherheit zu erzwingen:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=ProjectName eq '{ProjectName}'
  &$expand=Parent($filter=ProjectName eq '{ProjectName}')

Organisationsbezogene Abfragen

Die Basis-URL für Abfragen auf Organisationsebene ist wie gezeigt:

https://analytics.dev.azure.com/{OrganizationName}/_odata/v1.0

Wenn Sie eine durch die Organisation bezogene Abfrage mit einer $expand Option verwenden, müssen Sie einen anderen Filter angeben.

Die folgende organisationsbezogene Abfrage verwendet beispielsweise eine $expand-Option, um die untergeordneten Elemente aller Arbeitselemente abzurufen.

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=Project/ProjectName eq '{ProjectName}'
  &$expand=Children

Um zu überprüfen, ob die untergeordneten Elemente auf das angegebene Projekt beschränkt sind, ist ein weiterer Filter erforderlich:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=Project/ProjectName eq '{ProjectName}'
  &$expand=Children($filter=Project/ProjectName eq '{ProjectName}')

Zurückgeben des übergeordneten Elements aller Arbeitselemente

Die folgende Abfrage verwendet eine $expand-Option, um das übergeordnete Element aller Arbeitselemente abzurufen.

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=Project/ProjectName eq '{ProjectName}'
  &$expand=Parent

Um zu überprüfen, ob das übergeordnete Element auf das angegebene Projekt beschränkt ist, ist ein weiterer Filter erforderlich:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=Project/ProjectName eq '{ProjectName}'
  &$expand=Parent($filter=Project/ProjectName eq '{ProjectName}')

Ohne den zusätzlichen Filter schlägt die Anforderung fehl, wenn das übergeordnete Element einer Arbeitsaufgabe auf Arbeitsaufgaben in einem Projekt verweist, auf das Sie keinen Lesezugriff haben.

Sicherheitseinschränkungen auf Projektebene

Analytics hat einige weitere Einschränkungen für die Abfragesyntax im Zusammenhang mit der Sicherheit auf Projektebene.

Die any oder all Filter gelten für die Basisentität auf einem $expand. Bei Filtern, die auf einem Projekt basieren, wird der Filter bei ausdrücklicher Verwendung eines $expand ignoriert.

Beispielsweise in der folgenden Abfrage:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=ProjectName eq '{ProjectName}'
  &$expand=Children($filter=Project/ProjectName eq '{ProjectName}')

Wird wie folgt interpretiert:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=ProjectName eq '{ProjectName}'
  &$expand=Children

Und schlägt fehl, wenn Sie keinen Zugriff auf alle Projekte haben.

Um die Einschränkung zu umgehen, müssen Sie im Folgenden einen zusätzlichen Ausdruck $filterhinzufügen:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=ProjectName eq '{ProjectName}' and Children/any(r: r/ProjectName eq '{ProjectName}')
  &$expand=Children

Die Verwendung $level wird nur unterstützt, wenn Sie Zugriff auf alle Projekte in der Auflistung oder bei Verwendung einer projektbezogenen Abfrage haben:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $expand=Children($levels=2;$filter=ProjectName eq '{ProjectName}')

Analytics unterstützt keine querstufige Referenz für Projekte, die die $it Klausel verwenden. Die folgende Abfrage verweist beispielsweise mit dem $it-Alias auf den ProjectName des Stammarbeitselements, was nicht unterstützt wird:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $expand=Links(
    $expand=TargetWorkItem;
    $filter=TargetWorkItem/Project/ProjectName eq $it/Project/ProjectName)

Nächster Schritt