管線通過率趨勢範例報告

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

本文說明如何建立報告,以顯示管線的每日通過率趨勢。 管線的傳遞率定義為管線執行成功到管線執行總數的百分比。 這類似於管線通過率報告的「通過率趨勢」圖表。 下圖顯示這類趨勢的範例。

Power BI 管線執行通過率趨勢報告的螢幕快照。

重要

Azure DevOps Services 和 Azure DevOps Server 2020 和更新版本的 Power BI 整合 和存取 Analytics Service 的 OData 摘要 已正式推出。 本文中提供的範例查詢僅適用於 Azure DevOps Server 2020 和更新版本,且相依於 v3.0-preview 或更新版本。 我們鼓勵您使用這些查詢並提供意見反應。

必要條件

  • 若要檢視分析數據和查詢服務,您必須是具有基本存取權或更高許可權的項目成員。 根據預設,所有專案成員都會獲得查詢分析的許可權,並定義分析檢視。
  • 若要瞭解有關服務與功能啟用和一般數據追蹤活動的其他必要條件,請參閱 存取分析的許可權和必要條件。

注意

本文假設您已閱讀 使用 OData 查詢 的範例報表概觀,並具備 Power BI 的基本瞭解。

範例查詢

您可以使用實體集的 PipelineRuns 下列查詢來建立不同的但類似的傳遞率趨勢報告。

注意

若要判斷篩選或報表用途的可用屬性,請參閱 Azure Pipelines 的元數據參考。 您可以使用的 或 NavigationPropertyBinding PathEntitySet底下EntityType的任何Property值來篩選查詢或傳回屬性。 每個 EntitySet 對應至 EntityType。 若要深入瞭解每個值的數據類型,請檢閱針對對應 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} "
                &"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

替代字串和查詢明細

以您的值取代下列字串。 請勿在替代中包含括號 {} 。 例如,如果您的組織名稱為 「Fabrikam」 ,請將 取代 {organization}Fabrikam,而非 {Fabrikam}

  • {organization} - 您的組織名稱
  • {project} - 您的小組項目名稱
  • {pipelinename} - 您的管線名稱。 範例: Fabrikam hourly build pipeline
  • {startdate} - 開始報表的日期。 格式:YYYY-MM-DDZ。 範例: 2021-09-01Z 代表 2021 年 9 月 1 日。 請勿以引號或括弧括住,並針對月份和日期使用兩位數。

查詢明細

下表描述查詢的每個部分。

查詢元件

說明


$apply=filter(

Start filter() 子句。

Pipeline/PipelineName eq '{pipelinename}'

傳回指定管線的管線執行。

and CompletedDate ge {startdate}

傳回管線會在指定的日期或之後執行。

and CanceledCount ne 1

省略已取消的管線執行。

)

Close filter() 子句。

/groupby(

Start groupby() 子句。

(CompletedOn/Date),

依管線執行完成日期分組。

aggregate

符合篩選準則的所有管線執行的 Start aggregate 子句。

($count as TotalCount,

將執行總數計算為 TotalCount

SucceededCount with sum as SucceededCount ,

將成功執行的數目計算為 SucceededCount

FailedCount with sum as FailedCount,

將失敗的執行數目計算為 FailedCount

PartiallySucceededCount with sum as PartiallySucceededCount))

將部分成功執行的數目計算為 PartiallySucceededCount。 關閉 aggregate()groupby() 子句。

/compute(

子句的 compute() 開頭。

SucceededCount mul 100.0 div TotalCount as PassRate,

將成功的執行數目除以執行總數,以計算 PassRate 每天的計算。

FailedCount mul 100.0 div TotalCount as FailRate,

將失敗的執行數目除以執行總數,以計算 FailRate 每天的計算。

PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate)

將部分成功的執行數目除以執行總數,以計算 PartiallySuccessfulRate 每天的計算。

&$orderby=CompletedOn/Date asc

根據管線執行的日期,依遞增順序排序結果。

管線標識碼的傳遞速率趨勢

管線可以重新命名。 若要確保Power BI報表不會在管線名稱變更時中斷,請使用管線標識碼,而不是管線名稱。 您可以從管線執行頁面的 URL 取得管線識別碼。

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

下列查詢會從指定的開始日期傳回特定管線標識碼的管線執行。

您可以將下面所列的 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} "
                &"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

通過率趨勢,依分支篩選

您可能只想要檢視特定 分支 管線的傳遞率趨勢。 若要建立報表,請執行下列額外步驟,以及變更數據行數據類型建立折線圖報表區段中所述的內容。

  • 展開 BranchBranch.BranchName
  • 選取 [Power BI 視覺效果 交叉分析篩選器 ],然後新增 Branch.BranchName 至交叉分析篩選器的 [字段]。
  • 從交叉分析篩選器中選取需要查看通過率趨勢的分支。

您可以將下面所列的 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} "
                &"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

通過率趨勢,依建置原因進行篩選

您可能只想要檢視管線的傳遞率趨勢,原因只有特定的 建置原因 (手動/BatchedCI、提取要求等等)。 若要建立報表,請執行下列額外步驟,以及變更數據行數據類型建立折線圖報表區段中所述的內容。

  • 從 [視覺效果] 窗格中選取 [交叉分析篩選器],然後將 新增RunReason至交叉分析篩選器的 [字段]。
  • 從交叉分析篩選器中選取管線,您需要查看通過率趨勢。

您可以將下面所列的 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} "
                &"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

所有專案管線的傳遞率趨勢

使用下列查詢來檢視單一報表中專案所有管線的傳遞率趨勢。 若要建立報表,請執行下列額外步驟,以及變更數據行數據類型建立折線圖報表區段中所述的內容。

  • 展開 PipelinePipeline.PipelineName
  • 從 [視覺效果] 窗格中選取交叉分析篩選器,並將欄位新增至交叉分析篩選器的 [Pipeline.PipelineName欄位]。
  • 從交叉分析篩選器中選取您需要查看通過率趨勢的建置管線。

如需具有詳細類似步驟的所有管線範例報表,請參閱結果摘要,如這裡所需。

您可以將下面所列的 Power BI 查詢直接貼到 [取得資料空白>查詢 ] 視窗中。 如需詳細資訊,請檢閱 使用 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

(選擇性)重新命名查詢

您可以將預設查詢標籤 Query1 重新命名為更有意義的專案。 只要從 [查詢 設定] 窗格中輸入新名稱即可。

Power BI 查詢功能表選項、重新命名查詢的螢幕快照。

展開 Power Query 編輯器 中的數據行

建立報表之前,您必須展開傳回包含數個字段之記錄的數據行。 在這裡實體中,您要展開資料 CompletedOn 行,將其扁平化為 CompletedOn.Date
若要瞭解如何展開工作專案,請參閱 轉換分析數據以產生Power BI報表

變更數據行數據類型

從 [ 轉換 ] 功能表變更下列數據行的數據類型。 若要瞭解如何,請參閱 轉換數據行數據類型

  • PassRateFailRatePartiallySuccessfulRate 資料行到 十進位數。'
  • TotalCount神秘 個數位

(選擇性)重新命名數據行欄位

您可以重新命名資料列欄位。 例如,您可以將資料列 Pipeline.PipelineName 重新命名為 Pipeline Name,或 TotalCount 重新命名為 Total Count。 若要瞭解如何,請參閱 重新命名數據行欄位

關閉查詢並套用您的變更

完成所有數據轉換之後,請從 [常用] 功能表選擇 [關閉及套用],以儲存查詢並返回 Power BI 中的 [報表] 索引卷標。

Power Query 編輯器 [關閉並套用] 選項的螢幕快照。

建立折線圖報表

  1. 在 Power BI 的 [視覺效果] 下,選擇折線圖表。

    [傳遞率趨勢折線圖] 報表的視覺效果字段選取項目螢幕快照。

  2. 新增 CompletedOn.DateX 軸。 以滑鼠右鍵按下字段,然後選擇 [CompletedOn.Date]。

  3. 新增 PassRateY 軸,並以滑鼠右鍵按兩下它,以確保 已選取 [總和 ]。

  4. 若要變更報表標題,請從 [視覺效果] 窗格中選取 [格式化您的視覺油漆筆刷] 圖示,選取 [一般],展開 [標題],然後取代現有的文字。

    下圖顯示產生的報表。

    Power BI 範例管線執行傳遞率趨勢報告的螢幕快照。