Delen via


Trendgegevens opvragen

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

Het onderzoeken van trends in gegevens en het maken van vergelijkingen tussen perioden zijn belangrijke aspecten van rapportage en gegevensanalyse. Analytics ondersteunt deze mogelijkheden.

Opmerking

De Analytics-service wordt automatisch ingeschakeld en ondersteund in productie voor alle services in Azure DevOps Services. Power BI-integratie en toegang tot de OData-feed van de Analytics-service zijn algemeen beschikbaar. U wordt aangemoedigd om de Analytics OData-feed te gebruiken en feedback te geven.

Beschikbare gegevens zijn afhankelijk van versie. De nieuwste ondersteunde versie van de OData-API is v2.0en de nieuwste preview-versie is v4.0-preview. Zie OData API-versiebeheer voor meer informatie.

Opmerking

De Analytics-service wordt automatisch geïnstalleerd en ondersteund in productie voor alle nieuwe projectverzamelingen voor Azure DevOps Server 2020 en nieuwere versies. Power BI-integratie en toegang tot de OData-feed van de Analytics-service zijn algemeen beschikbaar. U wordt aangemoedigd om de Analytics OData-feed te gebruiken en feedback te geven. Als u een upgrade uitvoert van Azure DevOps Server 2019, kunt u de Analytics-service installeren tijdens de upgrade.

Beschikbare gegevens zijn afhankelijk van versie. De nieuwste ondersteunde versie van de OData-API is v2.0en de nieuwste preview-versie is v4.0-preview. Zie OData API-versiebeheer voor meer informatie.

Trendgegevens worden weergegeven in de entiteitssets WorkItemSnapshot en WorkItemBoardSnapshot. Ze zijn zo samengesteld dat elk werkitem, vanaf de dag dat het is gemaakt tot vandaag, voor elke dag bestaat. Voor een organisatie met slechts één werkitem dat een jaar geleden is gemaakt, zijn er 365 rijen in deze entiteit. Voor grote projecten zijn deze entiteiten niet praktisch te gebruiken met clienthulpprogramma's.

Wat is de oplossing? Gebruik de aggregatie-extensies.

Met behulp van de OData-aggregatie-extensies kunt u geaggregeerde gegevens retourneren uit Azure DevOps die tot rapportage leiden. U kunt bijvoorbeeld de fouttrend voor de maand de maart weergeven. Bugtrends zijn een veelvoorkomend en essentieel onderdeel van het beheren van elk project, zodat u het direct kunt gebruiken.

Opmerking

De voorbeelden in dit document zijn gebaseerd op een AZURE DevOps Services-URL. Vervang indien nodig de URL van uw Azure DevOps-server.

https://{servername}:{port}/tfs/{OrganizationName}/{ProjectName}/_odata/{version}/

Vereiste voorwaarden

Categorie Vereisten
Toegangsniveaus - een projectlid.
- Tenminste Basic toegang.
toestemmingen Projectleden zijn standaard gemachtigd om query's uit te voeren op Analytics en weergaven te maken. Zie Machtigingen en vereisten voor toegang tot Analyticsvoor meer informatie over andere vereisten met betrekking tot het inschakelen van services en functies en algemene activiteiten voor het bijhouden van gegevens.

Een eenvoudige query maken voor trendgegevens

Als u effectief een query wilt uitvoeren op de WorkItemSnapshot-tabel, volgt u deze basisvereisten:

  • Filter de gegevens op datum.
  • Groepeer de aggregatie op ten minste de datum. Zo niet, dan bevat het antwoord een waarschuwing.

De query voor het maken van een foutentrendrapport ziet er als volgt uit:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
  $apply=
    filter(DateValue ge 2016-03-01Z and DateValue le 2016-03-31Z and WorkItemType eq 'Bug')/
    groupby((DateValue,State), aggregate($count as Count))
  &$orderby=DateValue

Het retourneert een resultaat dat lijkt op het volgende voorbeeld:

{
  "@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
  "value": [
    {
      "@odata.id": null,
      "State": "Active",
      "DateValue": "2016-03-01T00:00:00-08:00",
      "Count": 2666
    },
    {
      "@odata.id": null,
      "State": "Closed",
      "DateValue": "2016-03-01T00:00:00-08:00",
      "Count": 51408
    }
  ]
}

Deze query produceert maximaal 31 * (number of bug states). De standaardfout heeft drie statussen:

  • Actief
  • Opgelost
  • Gesloten

Deze query retourneert maximaal 93 rijen, ongeacht hoeveel duizenden records er daadwerkelijk bestaan. Het biedt een veel compactere vorm van het retourneren van gegevens.

Laten we eens kijken naar een variatie in dit voorbeeld. U wilt de fouttrend voor een iteratie of een release zien die begint met één iteratie en eindigt met een andere.

Voer het volgende voorbeeld uit om die query te maken:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
  $apply=
    filter(WorkItemType eq 'Bug')/
    filter(Iteration/IterationName eq 'Sprint 99')/
    filter(DateValue ge Iteration/StartDate and (Iteration/EndDate eq null or DateValue le Iteration/EndDate))/
    groupby((DateValue, State), aggregate($count as Count))
  &$orderby=DateValue

Het retourneert een resultaat dat lijkt op het volgende voorbeeld:

{
  "@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
  "value": [
    {
      "@odata.id": null,
      "State": "Active",
      "DateValue": "2016-04-04T00:00:00-07:00",
      "Count": 320
    },
    {
      "@odata.id": null,
      "State": "Closed",
      "DateValue": "2016-04-04T00:00:00-07:00",
      "Count": 38
    }
  ]
}

In deze query zijn er twee belangrijke verschillen. We hebben een filtercomponent toegevoegd om de gegevens te filteren op een specifieke iteratie en de datums worden nu vergeleken met de begin- en einddatum van de iteratie versus een vastgelegde datum.

Opmerking

Als uw query in momentopnametabellen geen aggregatie gebruikt, wordt in het antwoord de waarschuwing weergegeven: 'De opgegeven query bevat geen $select of $apply clausule die wordt aanbevolen voor alle query’s.'