Freigeben über


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 {OrganizationName} Sie {ProjectName} in den bereitgestellten Beispielen Ihre 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.

Zurückgeben einer Anzahl von Arbeitsaufgaben

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 Anzahl enthalten.

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

7126

Rückgabeprojektbereichspfade

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 durch die Organisation bezogene 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.

Beispielsweise der folgende Projektbereichsfilter:

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 abfrage mit Organisationsbereich, die zum Abrufen der untergeordneten Elemente aller Arbeitsaufgaben verwendet $expand wird.

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

Es erfordert einen weiteren Filter, um zu überprüfen, ob die untergeordneten Elemente auf das angegebene Projekt beschränkt sind:

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 Arbeitsaufgaben

Die folgende Abfrage, die eine $expand Option zum Abrufen des übergeordneten Elements aller Arbeitsaufgaben verwendet.

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

Es erfordert einen anderen Filter, um zu überprüfen, ob das übergeordnete Element auf das angegebene Projekt beschränkt ist:

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 für ein $expand. Bei Filtern, die auf einem Projekt basieren, wird der Filter bei Verwendung eines $expand:

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 auf den Alias der Stammarbeitsaufgabe ProjectName$it , der 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