Dotazování na data trendu

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

Zkoumání trendů v datech a vytváření porovnání období v průběhu období jsou důležitými aspekty vytváření sestav a analýzy dat. Analýzy tyto funkce podporují.

Poznámka:

Služba Analytics je automaticky povolená a podporovaná v produkčním prostředí pro všechny služby Azure DevOps Services. Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou obecně dostupné. Doporučujeme, abyste ho používali a poskytli nám zpětnou vazbu. Dostupná data jsou závislá na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Poznámka:

Služba Analytics se automaticky nainstaluje a podporuje v produkčním prostředí pro všechny nové kolekce projektů pro Azure DevOps Server 2020 a novější verze. Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou obecně dostupné. Doporučujeme, abyste ho používali a poskytli nám zpětnou vazbu. Pokud jste upgradovali z Azure DevOps Serveru 2019, můžete během upgradu nainstalovat službu Analytics.

Dostupná data jsou závislá na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Poznámka:

Služba Analytics je ve verzi Preview pro Azure DevOps Server 2019. Můžete ji povolit nebo nainstalovat pro kolekci projektů. Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou ve verzi Preview. Doporučujeme, abyste ho používali a poskytli nám zpětnou vazbu.

Dostupná data jsou závislá na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Data trendu se zveřejňují v sadách entit WorkItemSnapshot a WorkItemBoardSnapshot. Jsou vytvořené tak, aby každá pracovní položka od dne, kdy byla vytvořena až do dnešního dne, existuje pro každý den. Pro organizaci s pouze jednou pracovní položkou, která byla vytvořena před rokem, je v této entitě 365 řádků. U velkých projektů by tyto entity byly nepraktické pro použití s klientskými nástroji.

Informace o řešení Použijte rozšíření agregace.

V tomto článku se dozvíte:

  • Vytvoření základního dotazu na data trendu

Pomocí rozšíření agregace OData můžete vracet agregovaná data z Azure DevOps, která jsou pro generování sestav přínosná. Můžete například zobrazit trend chyb pro měsíc březen. Trendy chyb jsou běžnou a kritickou součástí správy libovolného projektu, abyste je mohli okamžitě využít.

Poznámka:

Příklady uvedené v tomto dokumentu jsou založené na adrese URL služby Azure DevOps Services, kterou budete muset nahradit adresou URL serveru Azure DevOps.

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

Vytvoření základního dotazu pro data trendu

Existuje několik základních požadavků, které je potřeba efektivně dotazovat na tabulku WorkItemSnapshot:

  • Data můžete filtrovat podle data.
  • Agregace by se měla seskupovat podle aspoň data. Pokud ne, odpověď bude obsahovat upozornění.

Dotaz pro vytvoření sestavy trendu chyb vypadá jako v následujícím příkladu:

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

Vrátí výsledek podobný následujícímu příkladu:

{
  "@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
    }
  ]
}

Tento dotaz vytvoří maximálně 31 * (number of bug states). Výchozí chyba má tři stavy:

  • Aktivní
  • Vyřešeno
  • Zavřeno

Tento dotaz vrátí maximálně 93 řádků bez ohledu na to, kolik tisíc záznamů skutečně existuje. Poskytuje mnohem kompaktnější formu vracení dat.

Podívejme se na variantu tohoto příkladu. Chcete zobrazit trend chyb pro iteraci nebo verzi, která začíná jednou iterací a končí jinou.

Pokud chcete tento dotaz vytvořit, proveďte následující příklad:

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

Vrátí výsledek podobný následujícímu příkladu:

{
  "@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
    }
  ]
}

V tomto dotazu existují dva klíčové rozdíly. Přidali jsme klauzuli filtru pro filtrování dat do konkrétní iterace a data se teď porovnávají s počátečními a koncovými daty iterace a pevně zakódovaným datem.

Poznámka:

Pokud se v dotazu na tabulky snímků nepoužívá agregace, zobrazí se upozornění " Zadaný dotaz neobsahuje $select ani $apply klauzuli, která se doporučuje pro všechny dotazy." v odpovědi.