Ukázková sestava trendu průchodu kanálu

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

V tomto článku se dozvíte, jak vytvořit sestavu, která ukazuje trend denního průchodu kanálu. Rychlost průchodu kanálu je definována jako procento úspěšných spuštění kanálu do celkového počtu spuštění kanálu. Podobá se grafu "Pass rate trend" v sestavě přenosové rychlosti kanálu. Následující obrázek ukazuje příklad takového trendu.

Snímek obrazovky se sestavou trendu pass rate trendu spuštění kanálů Power BI

Důležité

Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou obecně dostupné pro Azure DevOps Services a Azure DevOps Server 2020 a novější verze. Ukázkové dotazy uvedené v tomto článku jsou platné pouze pro Azure DevOps Server 2020 a novější verze a závisí na verzi v3.0-Preview nebo novější. Doporučujeme, abyste tyto dotazy používali a poskytli nám zpětnou vazbu.

Požadavky

  • Pokud chcete zobrazit data Analýzy a dotazovat se na službu, musíte být členem projektu se základním přístupem nebo novějším. Ve výchozím nastavení mají všichni členové projektu udělená oprávnění k dotazování analýzy a definování zobrazení Analýzy.
  • Další informace o dalších požadavcích týkajících se povolení služeb a funkcí a obecných aktivit sledování dat najdete v tématu Oprávnění a požadavky pro přístup k Analýzám.

Poznámka:

Tento článek předpokládá, že jste si přečetli přehled ukázkových sestav pomocí dotazů OData a máte základní znalosti o Power BI.

Vzorové dotazy

Následující dotazy PipelineRuns sady entit můžete použít k vytvoření různých, ale podobných sestav trendu rychlosti průchodu.

Poznámka:

Informace o dostupných vlastnostech pro účely filtru nebo sestavy najdete v referenčních informacích k metadatům pro Azure Pipelines. Dotazy můžete filtrovat nebo vracet vlastnosti pomocí libovolné hodnoty Property pod hodnotami nebo NavigationPropertyBinding Path hodnotami dostupnými v objektu EntitySetEntityType . Každý EntitySet odpovídá hodnotě EntityType. Další informace o datovém typu každé hodnoty najdete v metadatech zadaných pro odpovídající EntityTypehodnotu .

Trend pass rate pro pojmenovaný kanál

Následující dotazy vrátí spuštění kanálu pro konkrétní kanál ze zadaného data zahájení.

Dotaz Power BI uvedený níže můžete vložit přímo do okna Získat prázdný dotaz dat>. Další informace najdete v přehledu ukázkových sestav pomocí dotazů OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Náhradní řetězce a rozpis dotazů

Nahraďte následující řetězce hodnotami. Nezahrnujte do náhradních závorek {} . Pokud je například název vaší organizace "Fabrikam", nahraďte {organization} ho Fabrikam, nikoli {Fabrikam}.

  • {organization} – Název vaší organizace
  • {project} - Název projektu vašeho týmu
  • {pipelinename} – Název vašeho kanálu. Příklad: Fabrikam hourly build pipeline
  • {startdate} - Datum zahájení sestavy. Formát: RRRR-MM-DDZ. Příklad: 2021-09-01Z představuje 1. září 2021. Nepoužívejte uvozovky ani hranaté závorky a pro oba měsíce a datum použijte dvě číslice.

Rozpis dotazů

Následující tabulka popisuje jednotlivé části dotazu.

Část dotazování

Popis


$apply=filter(

Klauzule Start filter() .

Pipeline/PipelineName eq '{pipelinename}'

Návratová spuštění kanálu pro zadaný kanál.

and CompletedDate ge {startdate}

Vrácení spuštění kanálu v zadaném datu nebo po zadaném datu.

and CanceledCount ne 1

Vynecháte zrušená spuštění kanálu.

)

Klauzule Close filter()

/groupby(

Klauzule Start groupby() .

(CompletedOn/Date),

Seskupte podle data dokončení spuštění kanálu.

aggregate

Počáteční aggregate klauzule pro všechna spuštění kanálu, která odpovídají kritériím filtru.

($count as TotalCount,

Spočítejte celkový počet spuštění jako TotalCount.

SucceededCount with sum as SucceededCount ,

Spočítejte počet úspěšných spuštění jako SucceededCount.

FailedCount with sum as FailedCount,

Spočítejte počet neúspěšných spuštění jako FailedCount.

PartiallySucceededCount with sum as PartiallySucceededCount))

Spočítejte počet částečně úspěšných spuštění jako PartiallySucceededCount. Uzavření aggregate() a groupby() klauzule

/compute(

compute() Začátek klauzule.

SucceededCount mul 100.0 div TotalCount as PassRate,

Výpočet PassRate pro každý den vydělením počtu úspěšných spuštění počtem celkových spuštění.

FailedCount mul 100.0 div TotalCount as FailRate,

Výpočet FailRate pro každý den vydělením počtu neúspěšných spuštění počtem celkových spuštění.

PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate)

Výpočet PartiallySuccessfulRate pro každý den vydělením počtu částečně úspěšných spuštění počtem celkových spuštění

&$orderby=CompletedOn/Date asc

Seřazení výsledku ve vzestupném pořadí podle data spuštění kanálu

Trend pass rate pro ID kanálu

Kanály je možné přejmenovat. Pokud chcete zajistit, aby se sestavy Power BI při změně názvu kanálu nepřerušily, použijte MÍSTO názvu kanálu ID kanálu. ID kanálu můžete získat z adresy URL stránky spuštění kanálů.

https://dev.azure.com/{organization}/{project}/_build?definitionId={pipelineid}

Následující dotazy vrátí spuštění kanálu pro konkrétní ID kanálu ze zadaného data zahájení.

Dotaz Power BI uvedený níže můžete vložit přímo do okna Získat prázdný dotaz dat>. Další informace najdete v přehledu ukázkových sestav pomocí dotazů OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"PipelineId eq {pipelineId} "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pass rate trend, filter by branch

Můžete chtít zobrazit trend rychlosti průchodu kanálu pouze pro určitou větev . Pokud chcete vytvořit sestavu, proveďte následující kroky navíc spolu s tím, co je uvedeno v datovém typu Změnit sloupec a vytvořit oddíly sestavy spojnicového grafu.

  • Rozbalit Branch do Branch.BranchName.
  • Vyberte průřez vizualizace Power BI a přidejte Branch.BranchName ho do pole průřezu.
  • Vyberte větev z průřezu, pro který potřebujete zobrazit trend rychlosti průchodu.

Dotaz Power BI uvedený níže můžete vložit přímo do okna Získat prázdný dotaz dat>. Další informace najdete v přehledu ukázkových sestav pomocí dotazů OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(Branch/BranchName, CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Trend rychlosti průchodu, filtrování podle důvodu sestavení

Trend rychlosti průchodu kanálu můžete zobrazit jenom z konkrétních důvodů sestavení (ručně / BatchedCI, žádost o přijetí změn atd.). Pokud chcete vytvořit sestavu, proveďte následující kroky navíc spolu s tím, co je uvedeno v datovém typu Změnit sloupec a vytvořit oddíly sestavy spojnicového grafu.

  • V podokně Vizualizace vyberte průřez a přidejte ho RunReason do pole průřezu.
  • Vyberte kanál z průřezu, pro který potřebujete zobrazit trend rychlosti průchodu.

Dotaz Power BI uvedený níže můžete vložit přímo do okna Získat prázdný dotaz dat>. Další informace najdete v přehledu ukázkových sestav pomocí dotazů OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(RunReason, CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Trend rychlosti pro všechny kanály projektu

Pomocí následujících dotazů můžete zobrazit trend rychlosti pro všechny kanály projektu v jedné sestavě. Pokud chcete vytvořit sestavu, proveďte následující kroky navíc spolu s tím, co je uvedeno v datovém typu Změnit sloupec a vytvořit oddíly sestavy spojnicového grafu.

  • Rozbalit Pipeline do Pipeline.PipelineName.
  • V podokně Vizualizace vyberte Průřez a přidejte pole Pipeline.PipelineName do pole průřezu.
  • V průřezu vyberte kanál buildu, pro který potřebujete zobrazit trend rychlosti průchodu.

Podívejte se na souhrn výsledků pro všechny ukázkové sestavy kanálů, která obsahuje podrobné podobné kroky, jak je zde potřeba.

Dotaz Power BI uvedený níže můžete vložit přímo do okna Získat prázdný dotaz dat>. Další informace najdete v přehledu ukázkových sestav pomocí dotazů OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
                &") "
        &"/groupby( "
        &"(Pipeline/PipelineName, CompletedOn/Date), "
            &"aggregate "
                &"($count as TotalCount, "
                &"SucceededCount with sum as SucceededCount , "
            &"FailedCount with sum as FailedCount, "
                &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
            &"/compute( "
        &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Volitelné) Přejmenování dotazu

Výchozí popisek dotazu , Query1, můžete přejmenovat na něco smysluplnějšího. Jednoduše zadejte nový název z podokna Nastavení dotazu.

Snímek obrazovky s možnostmi nabídky dotazu Power BI a přejmenování dotazu

Rozbalení sloupců v Editor Power Query

Před vytvořením sestavy budete muset rozbalit sloupce, které vracejí záznamy obsahující několik polí. V tomto případě budete chtít sloupec rozšířit CompletedOn , aby se CompletedOn.Datezploštěl .
Informace o tom, jak rozbalit pracovní položky, najdete v tématu Transformace analytických dat pro generování sestav Power BI.

Změna datového typu sloupce

V nabídce Transformace změňte datový typ pro následující sloupce. Postup najdete v tématu Transformace datového typu sloupce.

  • PassRateFailRate a PartiallySuccessfulRate sloupce na desetinné číslo.
  • TotalCountKdo le Number.

(Volitelné) Přejmenování polí sloupců

Pole sloupců můžete přejmenovat. Můžete například přejmenovat sloupec Pipeline.PipelineName na Pipeline Name, nebo TotalCount na Total Count. Postup najdete v tématu Přejmenování polí sloupců.

Zavřete dotaz a použijte změny.

Jakmile dokončíte všechny transformace dat, v nabídce Domů zvolte Zavřít a použítdotaz a vraťte se na kartu Sestava v Power BI.

Snímek obrazovky s možností Zavřít a Použít Editor Power Query

Vytvoření sestavy spojnicového grafu

  1. V Power BI v části Vizualizace zvolte sestavu spojnicového grafu .

    Snímek obrazovky s výběrem polí vizualizace pro sestavu spojnicového grafu trendu rychlosti

  2. Přidat CompletedOn.Date na osu X Klikněte pravým tlačítkem myši na pole a zvolte CompletedOn.Date.

  3. Přidejte PassRate na osu Y a klikněte na ni pravým tlačítkem a ujistěte se, že je vybraný součet .

  4. Pokud chcete změnit název sestavy, vyberte v podokně Vizualizace ikonu Formát vizuálního štětce, vyberte Obecné, rozbalte nadpis a nahraďte existující text.

    Následující obrázek znázorňuje výslednou sestavu.

    Snímek obrazovky s ukázkovou sestavou kanálu Power BI Runs Pass Rate Trend