Definieren grundlegender Abfragen mithilfe von OData Analytics

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

Mithilfe von Analytics für Azure DevOps können Sie grundlegende und gefilterte Abfragen erstellen, um interessante Daten zurückzugeben. Sie können diese Abfragen direkt in Ihrem Browser oder in Power BI ausführen.

Dieser Artikel baut auf Informationen auf, die im Erstellen von OData-Abfragen für Analyse - und Metadatenreferenz für Azure Boards Analytics bereitgestellt werden. Außerdem konzentrieren sich die Abfragen in diesem Artikel auf das Abrufen von Entitätssätzen für die Nachverfolgung von Arbeiten, die jedoch für die Abfrage anderer Entitätssätze gelten.

In diesem Artikel erfahren Sie, wie Sie Abfragen definieren, die die folgenden Daten zurückgeben:

  • Anzahl der Elemente (keine anderen Daten)
  • Anzahl von Elementen und Daten
  • Eigenschaften, die für Bereiche oder Iterationspfade definiert sind
  • Ausgewählte Spalten oder Felder
  • Gefilterte Daten
  • Zurückgeben von Daten für Die Felder "Identität", "Bereichspfad" und "Iterationspfad"
  • Filtern nach einer Navigationseigenschaft
  • Abfragen eines Datumsbereichs
  • Nest expand statements
  • Sortierergebnisse, Option "Reihenfolge nach"

Hinweis

Der Analysedienst wird automatisch aktiviert und in der Produktion für alle Azure DevOps-Dienste unterstützt. Power BI-Integration und Zugriff auf den OData-Feed des Analytics-Diensts sind allgemein verfügbar. Wir empfehlen Ihnen, sie zu verwenden und uns Feedback zu geben. Verfügbare Daten sind versionsabhängig. Die neueste unterstützte Version 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. Wir empfehlen Ihnen, sie zu verwenden und uns Feedback zu geben. Wenn Sie ein Upgrade von Azure DevOps Server 2019 durchgeführt haben, können Sie den Analysedienst während des Upgrades installieren.

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

Hinweis

Der Analysedienst befindet sich in der Vorschau für Azure DevOps Server 2019. Sie können es für eine Projektsammlung aktivieren oder installieren. Die Power BI-Integration und der Zugriff auf den OData-Feed des Analytics-Diensts befinden sich in der Vorschau. Wir empfehlen Ihnen, sie zu verwenden und uns Feedback zu geben.

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

Voraussetzungen

  • Um Analytics-Daten anzuzeigen und den Dienst abzufragen, müssen Sie Mitglied eines Projekts mit oder höherer Basiszugriff sein. Standardmäßig erhalten alle Projektmitglieder Berechtigungen zum Abfragen von Analytics und zum Definieren von Analytics-Ansichten.
  • Weitere Informationen zu weiteren Voraussetzungen für die Dienst- und Featureaktivierung sowie allgemeine Datennachverfolgungsaktivitäten finden Sie unter Berechtigungen und Voraussetzungen für den Zugriff auf Analytics.

Hinweis

In diesem Artikel wird die OData-Abfrage-URL für Azure DevOps Services definiert. Informationen zum Erstellen einer ähnlichen Abfrage für einen lokalen Server finden Sie in den Anleitungen im Erstellen von OData-Abfragen für Analytics. Wir empfehlen Ihnen, die für Ihre Organisation und Ihr Projekt bereitgestellten Abfragen anzupassen, um sich mit der Abfrage von OData über Ihren Browser vertraut zu machen.

Zurückgeben einer Anzahl von Elementen (keine anderen Daten)

Wenn Sie mehr über die Anzahl von Elementen oder Entitäten erfahren möchten, die in einer Organisation oder einem Projekt definiert sind, geben Sie $apply=aggregate($count as Count) die Abfrageoption an. Die folgenden Abfragen geben beispielsweise die Anzahl der Projekte, Arbeitsaufgaben, Bereichspfade und Benutzer zurück, die für eine Organisation definiert sind.

https://analytics.dev.azure.com/{OrganizationName}/_odata/v4.0-preview/Projects?$apply=aggregate($count as Count)
https://analytics.dev.azure.com/{OrganizationName}/_odata/v4.0-preview/WorkItems?$apply=aggregate($count as Count)
https://analytics.dev.azure.com/{OrganizationName}/_odata/v4.0-preview/Areas?$apply=aggregate($count as Count)
https://analytics.dev.azure.com/{OrganizationName}/_odata/v4.0-preview/Users?$apply=aggregate($count as Count)

Tipp

Projektübergreifende Abfragen schlagen fehl, wenn der Benutzer, der die Abfrage ausführt, keinen Zugriff auf alle Projekte hat. Weitere Informationen zu Anforderungen in Project- und organisationsbezogenen Abfragen.

Projektanzahl

@odata.context	"https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/$metadata#Projects(Count)"
value	
   0	
     @odata.id	null
     Count	    28

Anzahl der Arbeitsaufgaben

@odata.context	"https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/$metadata#WorkItems(Count)"
value	
  0	
     @odata.id	null
     Count	    1166

Bereichsanzahl

@odata.context	"https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/$metadata#Areas(Count)"
value	
  0	
     @odata.id	null
     Count	    70

Benutzeranzahl

@odata.context	"https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/$metadata#Areas(Count)"
value	
  0	
     @odata.id	null
     Count	    16

Zurückgeben einer Anzahl von Elementen und Daten

Geben Sie die $count=true Abfrageoption an, um eine Anzahl von Elementen zusammen mit ausgewählten Daten für die Elemente zurückzugeben. Die folgenden Abfragen geben beispielsweise eine Anzahl von Arbeitsaufgaben, Flächenpfaden und Benutzern zurück, die zusammen mit den angegebenen Eigenschaften für ein Projekt definiert sind. Gültige Eigenschaften finden Sie unter Metadatenreferenz für Azure Boards Analytics und Kalenderdatum, Project und Benutzermetadatenreferenz für Azure DevOps Analytics.

Tipp

Wenn Sie die zurückzugebenden Eigenschaften nicht angeben, gibt Analytics alle für den angegebenen Entitätstyp definierten Eigenschaften zurück.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v4.0-preview/WorkItems?$count=true&$select=WorkItemId,Title,WorkItemType 
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v4.0-preview/Areas?$count=true&$select=AreaName,AreaPath 
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v4.0-preview/Users?$count=true&$select=UserName,UserEmail

Areas- oder Iterationseigenschaften

Verwenden Sie die folgenden Abfragen, um die AreaSK OderIterationSK- oder andere Eigenschaft eines Bereichspfads oder Iterationspfads nachzuschlagen.

Zurückgeben des AreaSK für einen bestimmten Bereichspfad

Die folgende Abfrage gibt an, dass die eigenschaft zurückgegeben wird, die AreaSK für den Fabrikam Fiber\Service Delivery\InternetArea Path definiert ist. Informationen zum Angeben anderer Eigenschaften, die für den Entitätssatz Areas definiert sind, finden Sie unter Metadatenreferenz für Azure Boards Analytics, Areas.

https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/Areas?$filter=AreaPath eq 'Fabrikam Fiber\Service Delivery\Internet' &$select=AreaSK

Die Abfrage gibt die folgenden Daten zurück.

{
  "@odata.context": "https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#Areas(AreaSK)",
  "value": [
    {
      "AreaSK": "637dc203-0549-4415-9663-b6358ac27d21"
    }
  ]
}

Zurückgeben des IterationSK für einen bestimmten Iterationspfad

Die folgende Abfrage gibt an, die IterationSK für den Fabrikam Fiber\Release 1\Sprint 3Iterationspfad definierte Eigenschaft zurückzugeben. Informationen zum Angeben anderer Eigenschaften, die für den Iterations Entitätssatz definiert sind, finden Sie unter Metadatenreferenz für Azure Boards Analytics, Iterationen.

https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/Iterations?$filter=IterationPath eq 'Fabrikam Fiber\Release 1\Sprint 3' &$select=IterationSK

Die Abfrage gibt die folgenden Daten zurück.

{
  "@odata.context": "https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#Iterations(IterationSK)",
  "value": [
    {
      "IterationSK": "862e961a-ac7a-4fcc-9ebc-8afd0c12fed5"
    }
  ]
}

Zurückgeben bestimmter Eigenschaften oder Felder

Um bestimmte Eigenschaften oder Arbeitsaufgabenfelder zurückzugeben, fügen Sie eine $select Klausel hinzu, die die Eigenschaftennamen angibt.

Um beispielsweise die Arbeitselement-ID, den Arbeitsaufgabentyp, den Titel und den Status von Arbeitsaufgaben zurückzugeben, fügen Sie der Abfrage die folgende Klausel hinzu. Diese Klausel gibt die Eigenschaften an, die den benannten Feldern entsprechen.

Hinweis

Eigenschaftsnamen enthalten keine Leerzeichen. Ihre Abfrage schlägt fehl, wenn Sie Leerzeichen hinzufügen. OData-Abfragen erfordern Aufmerksamkeit sowohl auf Abstände als auch auf Groß-/Kleinschreibung. Informationen dazu, wie benutzerdefinierte Feldeigenschaften bezeichnet werden, finden Sie unter Metadatenreferenz für Azure Boards, benutzerdefinierte Eigenschaften.

Hier geben wir an, die drei wichtigsten Arbeitsaufgaben zurückzugeben.

https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v4.0-preview/WorkItems?$select=WorkItemId,WorkItemType,Title,State&$top=3

Analytics gibt die folgenden Daten zurück.

@odata.context	"https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#WorkItems(WorkItemId,WorkItemType,Title,State)"
value	
   0	
      WorkItemId    462
      Title         "Test case"
      WorkItemType  "Test Case"
      State         "Design"
   1	
      WorkItemId	   491
      Title          "Change color settings"
      WorkItemType   "Shared Steps"
      State          "Active"
   2	
      WorkItemId	   461
      Title          "Test impediment"
      WorkItemType   "Impediment"
      State          "Open"

.

Ihre Daten filtern

Zum Filtern eines Entitätssatzes zum Zurückgeben von Auswahlelementen geben Sie eine $filter Klausel an, die die Kriterien angibt, die die Elemente erfüllen müssen. Basierend auf der letzten Abfrage fügen wir hier eine Filterklausel hinzu, um nur Funktionsaufgabentypen zurückzugeben, die sich im Status "In Bearbeitung" befinden.

/WorkItems?$select=WorkItemId,WorkItemType,Title,State&$filter=State eq 'In Progress'

https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v4.0-preview/WorkItems?$filter=WorkItemType eq 'Feature' and State eq 'In Progress'&$select=WorkItemId,Title,AssignedTo,State

Analytics gibt die folgenden Daten zurück.

  
@odata.context	"https://analytics.dev.azure.com/kelliott/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#WorkItems(WorkItemId,Title,State)"
value	
  0	
      WorkItemId	380
      Title	"Refresh web look, feel, performance factors"
      State	"In Progress"
  1	
      WorkItemId	480
      Title	"Customer Phone - Phase 1"
      State	"In Progress"
  2	
      WorkItemId	493
      Title	"Change initial view"
      State	"In Progress"
  3	
      WorkItemId	479
      Title	"Customer Web - Phase 1"
      State	"In Progress"
  4	
      WorkItemId	551
      Title	"Mobile feedback"
      State	"In Progress"

Angeben mehrerer Filterklauseln

Sie können mehrere Filterklauseln verwenden AND und OR angeben.

Die folgende Abfrage gibt z. B. an, Arbeitsaufgaben vom Typ "User Story", "Bug" und "Backlog Work " (ein benutzerdefinierter Arbeitsaufgabentyp) zurückzugeben, der sich im Status "Neu", "Zugesichert" oder "Aktiv " befindet. Verwenden Sie Klammern, um Filterklauseln nach Bedarf zu gruppieren.

Darüber hinaus können Sie verschiedene Funktionen wie contains, startswith, endswith und mehr anwenden. Siehe die unterstützten OData-Features und -Klauseln, Unterstützte Funktionen.

Zurückgeben von Daten für Die Felder "Identität", "Bereichspfad" und "Iterationspfad"

Ausgewählte Eigenschaften sind navigationsbezogenen Eigenschaften zugeordnet und können nicht direkt mithilfe der $select Anweisung darauf zugegriffen werden. Sie müssen eine $expand Anweisung verwenden, um die daten von Interesse zurückzugeben. Diese Eigenschaften sind häufig mit mehreren Eigenen Eigenschaften verknüpft. Mit Identitätsfeldern können Sie z. B. angeben, dass der Benutzername oder die Benutzer-E-Mail zurückgegeben werden soll.

Die folgende Tabelle enthält Beispiele zum Erweitern mehrerer dieser Eigenschaften.

Typfelder Referenzierte Eigenschaft Beispielklauseln, die eingeschlossen werden sollen
DateTime DateSK $expand=CreatedDate($select=Date) oder
$expand=CreatedDate($select=WeekStartingDate)
Identität UserSK $expand=AssignedTo($select=UserName) oder
$expand=AssignedTo($select=UserEmail)
Bereich AreaSK $expand=Area($select=AreaName) oder
$expand=Area($select=AreaPath)
Iteration IterationSK $expand=Iteration($select=IterationName) oder
$expand=Iteration($select=IterationPath) oder
$expand=Iteration($select=StartDate)
Projekt ProjectSK $expand=Project($select=ProjectName)
Team TeamSK $expand=Teams($select=TeamName)

Um mehrere Eigenschaften anzugeben, die erweitert werden müssen, geben Sie sie in einer einzelnen Erweiterungsklausel in einer durch Kommas getrennten Liste an.

$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath)

Filtern nach einer Navigationseigenschaft

Wenn Sie eine Navigationseigenschaft als Teil Ihrer Filterkriterien angeben, müssen Sie sie im erforderlichen Format angeben.

Die folgende Klausel gibt z. B. an, arbeitsbezogene Elemente basierend auf iteration 1 zu filtern, die für das Projekt definiert sind.

/WorkItems?$filter=Iteration/IterationPath eq 'Project Name\Iteration 1'

In diesem Beispiel Iteration ist der Name der Navigationseigenschaft und IterationPath entspricht dem vollständigen Pfad für die Iteration. Wenn Sie eine andere Entität als Filter verwenden möchten, platzieren Sie die Navigationseigenschaft gefolgt von einem Schrägstrich gefolgt vom Namen des zu filternden Felds.

Und hier ist die vollständige OData-Abfrage:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?$filter=Iteration/IterationPath eq 'Project Name\Iteration 1'

Hier ist ein weiteres Beispiel, das die fünf wichtigsten Arbeitsaufgaben unter dem Fabrikam Fiber\Service Delivery\Voice Area Path anfordert, zurückgegeben werden.

https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/WorkItems?$top=5&$filter=Area/AreaPath eq 'Fabrikam Fiber\Service Delivery\Voice'&$select=WorkItemId, WorkItemType, Title, State&$orderby=WorkItemId asc

@odata.context	"https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#WorkItems(WorkItemId,WorkItemType,Title,State)"
value	
  0	
     WorkItemId	361
     Title        "Hello World Web Site"
     WorkItemType	"Product Backlog Item"
     State        "Removed"
  1	
     WorkItemId	362
     Title        "Resume"
     WorkItemType	"Product Backlog Item"
     State        "New"
  2	
     WorkItemId	363
     Title        "Welcome back page"
     WorkItemType	"Product Backlog Item"
     State        "Done"
  3	
     WorkItemId	365
     Title        "Pause"
     WorkItemType	"Feature"
     State        "New"
  4	
     WorkItemId	374
     Title        "Fix performance issues"
     WorkItemType	"Task"
     State        "To Do"

Tipp

Sie können die Navigationseigenschaft nicht direkt in einer $select Anweisung verwenden. Stattdessen müssen $expandSie .

Das vorherige Filterbeispiel für den Iterationspfad gibt den Iterationspfad nicht zurück, da er in einer verwandten Entität enthalten ist. Um Daten in einer verknüpften Entität zurückzugeben, fügen Sie eine $expand Anweisung hinzu:

/WorkItems?$select=WorkItemId,WorkItemType,Title,State&$filter=WorkItemId eq 10000&$expand=Iteration

Und hier ist ein Beispiel, das Informationen zurückgibt, die der Arbeitsaufgaben-ID 480 zugewiesen sind.

https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/WorkItems?$filter=WorkItemId eq 480&$select=WorkItemId,WorkItemType,Title,State&&$expand=Iteration
   
@odata.context	"https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#WorkItems(WorkItemId,WorkItemType,Title,State,Iteration)"
value	
  0	
      WorkItemId           480
      Title                "Customer Phone - Phase 1"
      WorkItemType	       "Feature"
      State	               "In Progress"
      Iteration	
          ProjectSK	       "56af920d-393b-4236-9a07-24439ccaa85c"
          IterationSK	       "c7063041-ff3a-4d7f-bb46-c433c7030d59"
          IterationId	       "c7063041-ff3a-4d7f-bb46-c433c7030d59"
          IterationName	   "Sprint 1"
          Number	            55297
          IterationPath	    "Fabrikam Fiber\\Release 1\\Sprint 1"
          StartDate	        "2022-01-17T00:00:00-08:00"
          EndDate	            "2022-02-04T23:59:59.999-08:00"
          IterationLevel1	    "Fabrikam Fiber"
          IterationLevel2	    "Release 1"
          IterationLevel3	    "Sprint 1"
          IterationLevel4	    null
          IterationLevel5	    null
          IterationLevel6	    null
          IterationLevel7	    null
          IterationLevel8	    null
          IterationLevel9	    null
          IterationLevel10	null
          IterationLevel11	null
          IterationLevel12	null
          IterationLevel13	null
          IterationLevel14	null
          Depth	            2
          IsEnded	        	true
      AnalyticsUpdatedDate	"2022-01-18T22:18:58.17Z"

Wie Sie sehen können, wird der Iterationspfad im Ergebnis erweitert, und alle Iterationsdaten werden zurückgegeben. Es sind wahrscheinlich mehr Daten als gewünscht.

Um weniger Daten zurückzugeben, fügen Sie auch eine $select Anweisung für die Iteration hinzu:

/WorkItems?$select=WorkItemId,WorkItemType,Title,State&$filter=WorkItemId eq 10000&$expand=Iteration($select=Name,IterationPath)

Anschließend werden die folgenden Daten zurückgegeben.

{
  "@odata.context":"https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/$metadata#WorkItems(WorkItemId,WorkItemType,Title,State,Iteration,Iteration(Name,IterationPath))",
  "value":[
    {
      "WorkItemId":10000,
      "WorkItemType":"Task",
      "Title":"Some title",
      "State":"Completed",
      "Iteration":{
        "Name":"Sprint 55",
        "IterationPath":"Fabrikam\\Sprints\\Sprint 55"
      }
    }
  ]
}

Abfragen eines Datumsbereichs

Im folgenden Beispiel werden Arbeitsaufgaben zurückgegeben, deren Geändertes Datum größer als der 1. Januar 2021 ist.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?$select=WorkItemId,WorkItemType,Title,State&$filter=ChangedDate ge 2021-01-01Z

Im folgenden Beispiel werden Arbeitsaufgaben zurückgegeben, deren Geändertes Datum während der Woche vom 26. April bis zum 30. April 2021 auftritt.

https://analytics.dev.azure.com{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?$select=WorkItemId,WorkItemType,Title,State&$filter=ChangedDate ge 2021-04-26Z&ChangedDate le 2021-04-30Z

Nest expand statements

In OData können Sie Anweisungen verschachteln $expand . Sie können z. B. die vorherige Abfrage-Anweisung schreiben, um das Projekt anzuzeigen, in dem die Iteration Teil von:

/WorkItems?$filter=WorkItemId eq 10000&$expand=Iteration($expand=Project)

Es gibt den folgenden JSON-Code zurück:

{
  "@odata.context":"https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/$metadata#WorkItems",
  "value":[
    {
      "WorkItemId":10000,
      "Revision":3,
      "Watermark":283397,
      "Title":"Production deployment and testing for Entitlement API v2 and Subscriber database",
      "WorkItemType":"Task",
      "ChangedDate":"2014-07-10T19:29:58.41Z",
      "CreatedDate":"2014-04-19T22:44:58.31Z",
      "State":"Completed",
      "Reason":"Completed",
      "Priority":2,
      "CompletedWork":10.0,
      "OriginalEstimate":20.0,
      "Count":1,
      "Iteration":{
        "IterationId":"7a2c246e-fc62-41af-ad18-62332017bc46",
        "Name":"Sprint 55",
        "Number":13021,
        "IterationPath":"Fabrikam\\Sprints\\Sprint 55",
        "StartDate":"2013-09-23T00:00:00Z",
        "EndDate":"2013-10-11T00:00:00Z",
        "IterationLevel1":"Fabrikam",
        "IterationLevel2":" Sprints",
        "IterationLevel3":"Sprint 55",
        "Level":2,
        "IsDeleted":false,
        "Project":{
          "ProjectId":"b924d696-3eae-4116-8443-9a18392d8544",
          "ProjectName":"Fabrikam",
          "IsDeleted":false
        }
      }
    }
  ]
}

Sie können auch Kombinieren und $select Anweisungen verwenden$expand. Sie können beispielsweise die vorherige Abfrage so ändern, dass nur der Iterationsname und der Iterationspfad zurückgegeben werden:

/WorkItems?$filter=WorkItemId eq 10000&$expand=Iteration($select=IterationId,IterationPath;$expand=Project)

Es gibt den folgenden JSON-Code zurück:

{
  "@odata.context":"https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/$metadata#WorkItems(Iteration(IterationId,IterationPath,Project))",
  "value":[
    {
      "WorkItemId":10000,
      "Revision":3,
      "Watermark":283397,
      "Title":"Production deployment and testing for Entitlement API v2 and Subscriber database","WorkItemType":"Task",
      "ChangedDate":"2014-07-10T19:29:58.41Z",
      "CreatedDate":"2014-04-19T22:44:58.31Z",
      "State":"Completed",
      "Reason":"Completed",
      "Priority":2,
      "CompletedWork":10.0,
      "OriginalEstimate":20.0,
      "Count":1,
      "Iteration":{
        "IterationId":"7a2c246e-fc62-41af-ad18-62332017bc46","IterationPath":"Fabrikam\\Sprints\\Sprint 55",
        "Project":{
          "ProjectId":"b924d696-3eae-4116-8443-9a18392d8544",
          "ProjectName":"Fabrikam",
          "IsDeleted":false
        }
      }
    }
  ]
}

Beachten Sie, dass das Ergebnis hier nur die IterationId und IterationPath anzeigt und dass das Projekt ein geschachteltes Objekt innerhalb des JSON-Ergebnisses ist. Ein weiteres zu beachtende Schlüsselelement ist die URL selbst. Wenn Sie eine $select Anweisung und eine $expand Klausel verwenden, müssen Sie einen Semikolon (;) vor dem $expand. Alles andere führt zu einem Fehler.

Sortierergebnisse, orderby Option

Geben Sie die $orderby Option zum Sortieren der Ergebnisse an, oder geben Sie die Reihenfolge an, in der Ergebnisse zurückgegeben werden. Sie können in aufsteigender oder absteigender Reihenfolge nach Schlüsselwort (keyword) oder ascdescnach unten sortieren. Einige Beispiele werden gezeigt

Sortieren nach Klausel, die eingeschlossen werden soll
ID des Arbeitselements /WorkItems?$orderby=WorkItemId
Absteigende Arbeitselement-ID /WorkItems?$orderby=WorkItemId desc
Arbeitselementtyp und Status /WorkItems?$orderby=WorkItemType,State

Nächste Schritte