Exempelrapport för pipelineflödestrend

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

Den här artikeln visar hur du skapar en rapport som visar en pipelines trend för daglig genomströmning. Genomströmningen för en pipeline definieras som procentandelen lyckade pipelinekörningar till de totala pipelinekörningarna. Det liknar diagrammet "Genomströmningstrend" i rapporten pipelinepassfrekvens. Följande bild visar ett exempel på en sådan trend.

Skärmbild av rapporten Överströmningstrend för Power BI-pipelines.

Viktigt!

Power BI-integrering och åtkomst till OData-flödet i Analytics Service är allmänt tillgängliga för Azure DevOps Services och Azure DevOps Server 2020 och senare versioner. Exempelfrågorna i den här artikeln är endast giltiga mot Azure DevOps Server 2020 och senare versioner och är beroende av v3.0-förhandsversion eller senare version. Vi rekommenderar att du använder dessa frågor och ger oss feedback.

Förutsättningar

  • Åtkomst: Vara medlem i ett projekt med minst grundläggande åtkomst.
  • Behörigheter: Som standard har projektmedlemmar behörighet att fråga Analytics och skapa vyer.
  • Mer information om andra förutsättningar för tjänst- och funktionsaktivering och allmänna dataspårningsaktiviteter finns i Behörigheter och krav för åtkomst till analys.

Kommentar

Den här artikeln förutsätter att du läser Översikt över exempelrapporter med OData-frågor och har en grundläggande förståelse för Power BI.

Exempelfrågor

Du kan använda följande frågor i entitetsuppsättningen PipelineRuns för att skapa olika men liknande trendrapporter för genomströmning.

Kommentar

Information om hur du fastställer tillgängliga egenskaper för filter- eller rapportändamål finns i Metadatareferens för Azure Pipelines. Du kan filtrera dina frågor eller returnera egenskaper med något av värdena Property under ett EntityType eller NavigationPropertyBinding Path flera värden som är tillgängliga med en EntitySet. Var och EntitySet en motsvarar en EntityType. Mer information om datatypen för varje värde finns i metadata för motsvarande EntityType.

Genomströmningstrend för en namngiven pipeline

Följande frågor returnerar pipelinekörningarna för en specifik pipeline från ett angivet startdatum.

Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.

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

Ersättningssträngar och frågeuppdelning

Ersätt följande strängar med dina värden. Ta inte med hakparenteser {} med din ersättning. Om ditt organisationsnamn till exempel är "Fabrikam" ersätter du {organization} med Fabrikam, inte {Fabrikam}.

  • {organization} – Organisationens namn
  • {project} – Namnet på ditt teamprojekt
  • {pipelinename} - Ditt pipelinenamn. Exempel: Fabrikam hourly build pipeline
  • {startdate} - Datumet då rapporten skulle startas. Format: ÅÅÅÅ-MM-DDZ. Exempel: 2021-09-01Z representerar 1 september 2021. Omslut inte citattecken eller hakparenteser och använd inte två siffror för både månad och datum.

Frågeuppdelning

I följande tabell beskrivs varje del av frågan.

Frågedel

Beskrivning


$apply=filter(

Start-sats filter() .

Pipeline/PipelineName eq '{pipelinename}'

Returnera pipelinekörningar för den angivna pipelinen.

and CompletedDate ge {startdate}

Returpipelinen körs på eller efter det angivna datumet.

and CanceledCount ne 1

Utelämna avbrutna pipelinekörningar.

)

Stäng-satsen filter() .

/groupby(

Start-sats groupby() .

(CompletedOn/Date),

Gruppera efter datum då pipelinekörningen har slutförts.

aggregate

Start-satsen aggregate för alla pipelinekörningar som matchar filtervillkoren.

($count as TotalCount,

Räkna det totala antalet körningar som TotalCount.

SucceededCount with sum as SucceededCount ,

Räkna antalet lyckade körningar som SucceededCount.

FailedCount with sum as FailedCount,

Räkna antalet misslyckade körningar som FailedCount.

PartiallySucceededCount with sum as PartiallySucceededCount))

Räkna antalet delvis lyckade körningar som PartiallySucceededCount. Stäng aggregate() och groupby() satser.

/compute(

Satsstart compute() .

SucceededCount mul 100.0 div TotalCount as PassRate,

Beräkna PassRate för varje dag genom att dividera antalet lyckade körningar med antalet totala körningar.

FailedCount mul 100.0 div TotalCount as FailRate,

Beräkna FailRate för varje dag genom att dividera antalet misslyckade körningar med antalet totala körningar.

PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate)

Beräkna PartiallySuccessfulRate för varje dag genom att dividera antalet delvis lyckade körningar med antalet totala körningar.

&$orderby=CompletedOn/Date asc

Sortera resultatet i stigande ordning baserat på datum för pipelinekörning.

Genomströmningstrend för ett pipeline-ID

Pipelines kan byta namn. Om du vill se till att Power BI-rapporterna inte bryts när pipelinenamnet ändras använder du pipeline-ID i stället för pipelinenamn. Du kan hämta pipeline-ID:t från URL:en för pipelines-körningssidan.

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

Följande frågor returnerar pipelinekörningarna för ett specifikt pipeline-ID från ett angivet startdatum.

Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.

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

Trend för genomströmning, filtrera efter gren

Du kanske bara vill visa trenden för passeringshastighet för en pipeline för en viss gren . Skapa rapporten genom att utföra följande extra steg tillsammans med vad som beskrivs i datatypen Ändra kolumn och Skapa rapportavsnitten Linjediagram.

  • Expandera Branch till Branch.BranchName.
  • Välj Power BI Visualization Utsnitt och lägg till Branch.BranchName i utsnittets fält.
  • Välj grenen från utsnittet som du behöver se trenden för genomströmningsfrekvensen för.

Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.

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

Genomströmningstrend, filtrera efter byggorsak

Du kanske bara vill visa trenden för passeringshastighet för en pipeline av specifika byggorsaker (manuell/BatchedCI, pull-begäran och så vidare). Skapa rapporten genom att utföra följande extra steg tillsammans med vad som beskrivs i datatypen Ändra kolumn och Skapa rapportavsnitten Linjediagram.

  • Välj Utsnitt i fönstret Visualiseringar och lägg till i RunReason utsnittets fält.
  • Välj pipelinen från utsnittet som du behöver se genomströmningstrenden för.

Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.

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

Genomströmningstrend för alla projektpipelines

Använd följande frågor för att visa genomströmningstrenden för alla pipelines i projektet i en enda rapport. Skapa rapporten genom att utföra följande extra steg tillsammans med vad som beskrivs i datatypen Ändra kolumn och Skapa rapportavsnitten Linjediagram.

  • Expandera Pipeline till Pipeline.PipelineName.
  • Välj Utsnitt i fönstret Visualiseringar och lägg till fältet Pipeline.PipelineName i utsnittets fält.
  • Välj bygg-pipelinen från utsnittet som du behöver se trenden för genomströmningsfrekvens för.

Se Resultatsammanfattning för alla exempelrapporter för pipelines som har detaljerade liknande steg som krävs här.

Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.

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

(Valfritt) Byt namn på fråga

Du kan byta namn på standardfrågans etikett, Query1, till något mer meningsfullt. Ange bara ett nytt namn i fönstret Frågeinställningar .

Skärmbild av alternativ för Power BI-frågemenyer, byt namn på fråga.

Expandera kolumner i Power Query-redigeraren

Innan du skapar rapporten måste du expandera kolumner som returnerar poster som innehåller flera fält. I det här fallet vill du expandera kolumnen för att platta ut den CompletedOn till CompletedOn.Date.
Information om hur du expanderar arbetsobjekt finns i Transformera analysdata för att generera Power BI-rapporter.

Ändra kolumndatatyp

På menyn Transformera ändrar du datatypen för följande kolumner. Mer information finns i Transformera en kolumndatatyp.

  • PassRatePartiallySuccessfulRate och FailRate kolumner till decimaltal."
  • TotalCount till Heltal.

(Valfritt) Byt namn på kolumnfält

Du kan byta namn på kolumnfält. Du kan till exempel byta namn på kolumnen Pipeline.PipelineName till Pipeline Nameeller TotalCount till Total Count. Mer information finns i Byt namn på kolumnfält.

Stäng frågan och tillämpa ändringarna

När du har slutfört alla dina datatransformeringar väljer du Stäng och använd startmenyn för att spara frågan och återgå till fliken Rapport i Power BI.

Skärmbild av alternativet stäng och tillämpa Power Query-redigeraren.

Skapa linjediagramrapporten

  1. I Power BI går du till Visualiseringar och väljer linjediagramrapporten .

    Skärmbild av val av visualiseringsfält för linjediagramrapport för passfrekvenstrend.

  2. Lägg till CompletedOn.Date i X-axeln. Högerklicka på fältet och välj CompletedOn.Date.

  3. Lägg till PassRate i Y-axeln och högerklicka på den för att se till att Sum är markerat.

  4. Om du vill ändra rapportrubriken väljer du ikonen Formatera din visuella pensel i fönstret Visualiseringar , väljer Allmänt, expanderar Rubrik och ersätter den befintliga texten.

    Följande bild visar den resulterande rapporten.

    Skärmbild av power BI-exempelpipelines Kör trendrapport för passfrekvens.