次の方法で共有


パイプラインの結果の概要サンプル レポート

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

パイプラインの実行は、パイプラインの 1 回の実行を表します。 実行中にパイプラインが処理され、エージェントは 1 つ以上のジョブを処理します。 結果には、成功、失敗、取り消し部分的に成功が含まれます パイプライン実行の結果を示すレポートを作成するには、"PipelineRuns" にクエリを 実行します entity set

この記事では、さまざまなパイプライン結果の実行数を取得するレポートを作成する方法に関するいくつかのクエリと手順について説明します。

次の図は、結果の概要レポートの例を示しています。

Power BI パイプラインの結果の概要レポートのスクリーンショット。

重要

Power BI の統合と Analytics サービスの OData フィードへのアクセスは、Azure DevOps Services および Azure DevOps Server 2020 以降のバージョンで一般提供されています。 この記事で提供されるサンプル クエリは、Azure DevOps Server 2020 以降のバージョンに対してのみ有効であり、v3.0-preview 以降のバージョンによって異なります。 これらのクエリを使用し、フィードバックをお寄せください。

前提条件

Note

この記事では、OData クエリを使用したサンプル レポートの概要を読み、Power BI の基本的な理解を持っていることを前提としています。

サンプル クエリ

エンティティ セットの次のクエリを PipelineRuns 使用して、異なる似たパイプライン結果の概要レポートを作成できます。

Note

フィルターまたはレポートの目的で使用可能なプロパティを決定するには、Azure Pipelines のメタデータ リファレンスを参照してください。 クエリをフィルター処理したり、 で使用可能な または 値のPropertyEntityTypeNavigationPropertyBinding Pathの値のいずれかを使用してプロパティをEntitySet返したりできます。 各 は EntitySetEntityType対応します。 各値のデータ型の詳細については、対応する EntityType値に指定されたメタデータを確認してください。

名前付きパイプラインのパイプライン期間

次のクエリは、指定した開始日から特定のパイプラインのパイプライン実行を返します。

次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、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} "
                &") "
        &"/aggregate( "
        &"$count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
                &"PartiallySucceededCount with sum as PartiallySucceededCount , "
            &"CanceledCount with sum as CanceledCount "
                &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

置換文字列とクエリの内訳

次の文字列を実際の値に置き換えます。 置換に角かっこを {} 含めないでください。 たとえば、組織名が "Fabrikam" の場合は、 ではなく {Fabrikam}を にFabrikam置き換えます{organization}

  • {organization} - 組織名
  • {project} - チーム プロジェクト名
  • {pipelinename} - パイプライン名。 例: Fabrikam hourly build pipeline
  • {startdate} - レポートを開始する日付。 形式: YYYY-MM-DDZ。 例: 2021-09-01Z 2021 年 9 月 1 日を表します。 引用符または角かっこで囲んで、月と日付の両方に 2 桁の数字を使用しないでください。

クエリの内訳

次の表では、クエリの各部分について説明します。

クエリ パーツ

説明


$apply=filter(

Start filter() 句。

Pipeline/PipelineName eq '{pipelinename}'

指定したパイプラインのパイプライン実行を返します。

and CompletedDate ge {startdate}

返されるパイプラインは、指定した日付以降に実行されます。

)

Close filter()

/aggregate(

フィルター条件に一致するすべてのパイプライン実行の開始 aggregate 句。

$count as TotalCount,

実行の合計数を次のように TotalCountカウントします。

SucceededCount with sum as SucceededCount ,

成功した実行の数を次のように SucceededCountカウントします。

FailedCount with sum as FailedCount,

失敗した実行の数を次のように FailedCountカウントします。

PartiallySucceededCount with sum as PartiallySucceededCount ,

部分的に成功した実行の数を次のように PartiallySucceededCountカウントします。

CanceledCount with sum as CanceledCount

取り消された実行の数を次のように CanceledCountカウントします。

)

Close aggregate() 句。

特定のパイプライン ID のパイプライン実行結果の概要

パイプラインの名前を変更できます。 パイプライン名が変更されたときに Power BI レポートが中断されないようにするには、その名前ではなくパイプライン ID を使用します。 パイプライン ID は、パイプラインの実行ページの URL から取得できます。

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

次のクエリは、指定した開始日から、特定のパイプライン ID に対するパイプラインの実行を返します。

次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、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} "
                &") "
        &"/aggregate( "
        &"$count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
                &"PartiallySucceededCount with sum as PartiallySucceededCount , "
            &"CanceledCount with sum as CanceledCount "
                &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

分岐でフィルター処理されたパイプライン実行の結果の概要

特定のブランチのパイプラインの結果の概要を表示するには、次のクエリを使用します。 レポートを作成するには、次の手順を実行します。

次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、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} "
                &") "
        &"/groupby( "
        &"(Branch/BranchName), "
            &"aggregate( "
                &"$count as TotalCount, "
                &"SucceededCount with sum as SucceededCount , "
            &"FailedCount with sum as FailedCount, "
                &"PartiallySucceededCount with sum as PartiallySucceededCount , "
            &"CanceledCount with sum as CanceledCount "
        &")) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

ビルド理由でフィルター処理されたパイプライン実行結果の概要

特定 のビルド理由 (手動/BatchedCI、Pull Request など) についてのみ、パイプラインの結果の概要を表示できます。 レポートを作成するには、次の手順を実行します。

次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、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} "
                &") "
        &"/groupby( "
        &"(RunReason), "
            &"aggregate( "
                &"$count as TotalCount, "
                &"SucceededCount with sum as SucceededCount , "
            &"FailedCount with sum as FailedCount, "
                &"PartiallySucceededCount with sum as PartiallySucceededCount , "
            &"CanceledCount with sum as CanceledCount "
        &")) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

すべてのプロジェクト パイプラインの結果の概要

すべてのプロジェクト パイプラインのパイプライン結果の概要を 1 つのレポートで表示できます。 レポートを作成するには、次の手順を実行します。

詳細な手順については、すべてのパイプラインのサンプル レポートの結果の概要も参照してください。

次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、OData クエリを使用したサンプル レポートの概要を参照してください

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

(省略可能)クエリの名前を変更する

既定のクエリ ラベル Query1 の名前を、より意味のある名前に変更できます。 [ クエリ設定] ペインから新しい名前を入力するだけです。

Power BI クエリ メニュー オプションのスクリーンショット。クエリの名前を変更します。

列のデータ型を変更する

Power Query エディターから列をTotalCount選択し、[変換] メニューから [データ型] を選択し、[整数] を選択します。 データ型の変更の詳細については、「 Analytics データを変換して Power BI レポートを生成する」の「列データ型の変換」を参照してください

(省略可能)列フィールドの名前を変更する

列フィールドの名前を変更できます。 たとえば、列Pipeline.PipelineNameの名前を 、または TotalCount Total Count〗 にPipeline Name変更できます。 方法については、「列フィールドの名前を変更する」を参照してください

クエリを閉じて変更を適用する

すべてのデータ変換が完了したら、[ホーム] メニューから [閉じる] & [適用] を選択してクエリを保存し、Power BI の [レポート] タブに戻ります。

[閉じて適用] オプションPower Query エディタースクリーンショット。

ドーナツ グラフ レポートを作成する

  1. Power BI の [視覚化] で、ドーナツ レポートを選択します。

    すべてのパイプライン実行レポートの視覚化フィールドの選択のスクリーンショット。

  2. 次のフィールドを値指定された順序で追加します。 各フィールドを右クリックし、[合計] が選択されていることを確認します。

    • CanceledCount
    • PartiallySucceededCount.
    • SucceededCount
    • FailedCount
  3. レポートのタイトルを変更するには、[視覚化] ウィンドウから [ビジュアル ペイント ブラシの書式設定] アイコンを選択し、[全般] を選択し、[タイトル]展開して、既存のテキストを置き換えます。

    [視覚化] ウィンドウ、レポート形式オプション、タイトルの変更のスクリーンショット。

    次の図は、結果のレポートを示しています。

    Power BI サンプル パイプラインの結果の概要レポートのスクリーンショット。