Report di esempio di tendenza del passaggio della pipeline

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

Questo articolo illustra come creare un report che mostra la tendenza giornaliera del pass rate di una pipeline. La frequenza di passaggio di una pipeline viene definita come percentuale di esecuzioni di pipeline riuscite per le esecuzioni totali della pipeline. È simile al grafico "Pass rate trend" del report Percentuale di passaggio pipeline. L'immagine seguente mostra un esempio di tale tendenza.

Screenshot del report Sulle esecuzioni di pipeline di Power BI Pass Rate Trend.

Importante

L'integrazione di Power BI e l'accesso al feed OData del servizio di analisi sono disponibili a livello generale per Azure DevOps Services e Azure DevOps Server 2020 e versioni successive. Le query di esempio fornite in questo articolo sono valide solo per Azure DevOps Server 2020 e versioni successive e dipendono dalla versione v3.0-preview o successiva. È consigliabile usare queste query e fornire commenti e suggerimenti.

Prerequisiti

  • Per visualizzare i dati di Analisi ed eseguire query sul servizio, è necessario essere membri di un progetto con accesso basic o superiore. Per impostazione predefinita, a tutti i membri del progetto vengono concesse le autorizzazioni per eseguire query su Analisi e definire le visualizzazioni di Analisi.
  • Per altre informazioni sugli altri prerequisiti relativi all'abilitazione di servizi e funzionalità e alle attività generali di rilevamento dei dati, vedere Autorizzazioni e prerequisiti per l'accesso ad Analytics.

Nota

Questo articolo presuppone di avere letto Panoramica dei report di esempio usando query OData e avere una conoscenza di base di Power BI.

Query di esempio

È possibile usare le query seguenti del set di PipelineRuns entità per creare report di tendenza di pass rate diversi ma simili.

Nota

Per determinare le proprietà disponibili a scopo di filtro o report, vedere Informazioni di riferimento sui metadati per Azure Pipelines. È possibile filtrare le query o restituire proprietà usando uno qualsiasi dei Property valori in un EntityType oggetto o NavigationPropertyBinding Path i valori disponibili con un oggetto EntitySet. Ognuno EntitySet corrisponde a un oggetto EntityType. Per altre informazioni sul tipo di dati di ogni valore, esaminare i metadati forniti per l'oggetto corrispondente EntityType.

Tendenza della frequenza di passaggio per una pipeline denominata

Le query seguenti restituiscono le esecuzioni della pipeline per una pipeline specifica da una data di inizio specificata.

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query 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

Stringhe di sostituzione e scomposizione delle query

Sostituire le stringhe seguenti con i valori. Non includere parentesi quadre {} con la sostituzione. Ad esempio, se il nome dell'organizzazione è "Fabrikam", sostituire {organization} con Fabrikam, non {Fabrikam}.

  • {organization} - Nome dell'organizzazione
  • {project} - Nome del progetto team
  • {pipelinename} - Nome della pipeline. Esempio: Fabrikam hourly build pipeline
  • {startdate} - Data di inizio del report. Formato: AAAA-MM-GG. Esempio: 2021-09-01Z rappresenta il 1° settembre 2021. Non racchiudere tra virgolette o parentesi quadre e usare due cifre per entrambi, mese e data.

Suddivisione delle query

La tabella seguente descrive ogni parte della query.

Parte della query

Descrizione


$apply=filter(

Clausola Start filter() .

Pipeline/PipelineName eq '{pipelinename}'

Restituire le esecuzioni della pipeline per la pipeline specificata.

and CompletedDate ge {startdate}

La pipeline restituita viene eseguita in o dopo la data specificata.

and CanceledCount ne 1

Omettere le esecuzioni di pipeline annullate.

)

Clausola Close filter() .

/groupby(

Clausola Start groupby() .

(CompletedOn/Date),

Raggruppare per data di completamento dell'esecuzione della pipeline.

aggregate

Clausola Start aggregate per tutte le esecuzioni della pipeline corrispondenti ai criteri di filtro.

($count as TotalCount,

Contare il numero totale di esecuzioni come TotalCount.

SucceededCount with sum as SucceededCount ,

Contare il numero di esecuzioni riuscite come SucceededCount.

FailedCount with sum as FailedCount,

Contare il numero di esecuzioni non riuscite come FailedCount.

PartiallySucceededCount with sum as PartiallySucceededCount))

Contare il numero di esecuzioni parzialmente riuscite come PartiallySucceededCount. Chiudere aggregate() e groupby() clausole.

/compute(

Inizio della compute() clausola.

SucceededCount mul 100.0 div TotalCount as PassRate,

Calcolare PassRate per ogni giorno dividendo il numero di esecuzioni riuscite per numero di esecuzioni totali.

FailedCount mul 100.0 div TotalCount as FailRate,

Calcolare FailRate per ogni giorno dividendo il numero di esecuzioni non riuscite per numero di esecuzioni totali.

PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate)

Calcolare PartiallySuccessfulRate per ogni giorno dividendo il numero di esecuzioni parzialmente riuscite per numero di esecuzioni totali.

&$orderby=CompletedOn/Date asc

Ordinare il risultato in ordine crescente in base alla data di esecuzione della pipeline.

Tendenza di velocità di passaggio per un ID pipeline

È possibile rinominare le pipeline. Per assicurarsi che i report di Power BI non si interrompano quando viene modificato il nome della pipeline, usare l'ID della pipeline anziché il nome della pipeline. È possibile ottenere l'ID della pipeline dall'URL della pagina di esecuzione delle pipeline.

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

Le query seguenti restituiscono le esecuzioni della pipeline per un ID di pipeline specifico da una data di inizio specificata.

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query 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

Tendenza della frequenza di passaggio, filtro per ramo

È possibile visualizzare la tendenza della frequenza di passaggio di una pipeline solo per un ramo specifico. Per creare il report, eseguire i passaggi aggiuntivi seguenti insieme a quanto descritto nelle sezioni Modificare il tipo di dati della colonna e Creare il report grafico a linee.

  • Espandere in BranchBranch.BranchName.
  • Selezionare Filtro dei dati delle visualizzazioni di Power BI e aggiungere Branch.BranchName al campo del filtro dei dati.
  • Selezionare il ramo dal filtro dei dati per il quale è necessario visualizzare la tendenza del tasso di passaggio.

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query 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

Tendenza della frequenza di passaggio, filtro in base al motivo della compilazione

È possibile visualizzare la tendenza della frequenza di passaggio di una pipeline solo per motivi di compilazione specifici (Manuale/BatchedCI, Richiesta pull e così via). Per creare il report, eseguire i passaggi aggiuntivi seguenti insieme a quanto descritto nelle sezioni Modificare il tipo di dati della colonna e Creare il report grafico a linee.

  • Selezionare Filtro dei dati nel riquadro Visualizzazioni e aggiungere al RunReason campo del filtro dei dati.
  • Selezionare la pipeline dal filtro dei dati per cui è necessario visualizzare la tendenza del tasso di passaggio.

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query 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

Tendenza di velocità di passaggio per tutte le pipeline di progetto

Usare le query seguenti per visualizzare la tendenza della frequenza di passaggio per tutte le pipeline del progetto in un singolo report. Per creare il report, eseguire i passaggi aggiuntivi seguenti insieme a quanto descritto nelle sezioni Modificare il tipo di dati della colonna e Creare il report grafico a linee.

  • Espandere in PipelinePipeline.PipelineName.
  • Selezionare Filtro dei dati nel riquadro Visualizzazioni e aggiungere il campo al campo Pipeline.PipelineName del filtro dei dati.
  • Selezionare la pipeline di compilazione dal filtro dei dati per cui è necessario visualizzare la tendenza della frequenza di passaggio.

Fare riferimento a Riepilogo dei risultati per tutti i report di esempio delle pipeline con passaggi simili dettagliati come richiesto qui.

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query 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

(Facoltativo) Rinominare la query

È possibile rinominare l'etichetta di query predefinita Query1 in qualcosa di più significativo. È sufficiente immettere un nuovo nome dal riquadro Query Impostazioni.

Screenshot delle opzioni del menu query di Power BI, rinominare la query.

Espandere le colonne in editor di Power Query

Prima di creare il report, è necessario espandere le colonne che restituiscono record contenenti diversi campi. In questa istanza si vuole espandere la CompletedOn colonna per appiattirla in CompletedOn.Date.
Per informazioni su come espandere gli elementi di lavoro, vedere Trasformare i dati di Analisi per generare report di Power BI.

Modificare il tipo di dati della colonna

Dal menu Trasforma modificare il tipo di dati per le colonne seguenti. Per informazioni su come, vedere Trasformare un tipo di dati di colonna.

  • PassRate, FailRate e PartiallySuccessfulRate colonne in Numero decimale".
  • TotalCount su Numero intero.

(Facoltativo) Rinominare i campi della colonna

È possibile rinominare i campi delle colonne. Ad esempio, è possibile rinominare la colonna Pipeline.PipelineName in Pipeline Nameo TotalCount in Total Count. Per informazioni su come, vedere Rinominare i campi delle colonne.

Chiudere la query e applicare le modifiche

Dopo aver completato tutte le trasformazioni dei dati, scegliere Chiudi e applica dal menu Home per salvare la query e tornare alla scheda Report in Power BI.

Screenshot dell'opzione Chiudi e applica editor di Power Query.

Creare il report Grafico a linee

  1. In Power BI, in Visualizzazioni, scegliere il report Grafico a linee.

    Screenshot delle selezioni dei campi di visualizzazione per il report grafico a linee di tendenza pass rate.

  2. Aggiungi CompletedOn.Date all'asse X. Fare clic con il pulsante destro del mouse sul campo e scegliere CompletedOn.Date.

  3. Aggiungi PassRate all'asse Y e fai clic con il pulsante destro del mouse su di esso per assicurarti che Sum sia selezionato.

  4. Per modificare il titolo del report, selezionare l'icona Formatta il pennello visivo nel riquadro Visualizzazioni , selezionare Generale, espandere Titolo e sostituire il testo esistente.

    L'immagine seguente mostra il report risultante.

    Screenshot del report pipeline di esempio Pipelines Runs Pass Rate Trend (Tendenza pass rate delle pipeline di esempio di Power BI).