管道结果摘要示例报表

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

管道运行表示管道的单个执行。 在运行期间,将处理管道,代理处理一个或多个作业。 结果包括“成功”、“失败”、“已取消”和“部分成功”。 若要创建显示管道运行结果的报表,请查询 “”PipelineRuns entity set

本文提供了有关如何创建报表以获取不同管道结果的运行次数的多个查询和说明。

下图显示了结果摘要报表的示例。

Power BI Pipelines 结果摘要报表的屏幕截图。

重要

Power BI 集成和对分析服务的 OData 源的访问通常适用于 Azure DevOps Services 和 Azure DevOps Server 2020 及更高版本。 本文中提供的示例查询仅对 Azure DevOps Server 2020 及更高版本有效,并且取决于 v3.0-preview 或更高版本。 我们鼓励你使用这些查询并向我们提供反馈。

先决条件

  • 若要查看分析数据并查询服务,需要是具有 基本 访问权限或更高访问权限的项目的成员。 默认情况下,向所有项目成员授予查询 Analytics 和定义 Analytics 视图的权限。
  • 若要了解有关服务和功能启用以及常规数据跟踪活动的其他先决条件,请参阅 访问 Analytics 的权限和先决条件

备注

本文假定你已阅读 使用 OData 查询的示例报表概述 ,并基本了解 Power BI。

示例查询

可以使用实体集的以下查询 PipelineRuns 来创建不同但相似的管道结果摘要报表。

备注

若要确定用于筛选或报告目的的可用属性,请参阅 Azure Pipelines 的元数据参考。 可以使用 提供的 EntitySetNavigationPropertyBinding Path 值下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} "
                &") "
        &"/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”,请将 替换为 {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}

返回管道在指定日期或之后运行。

)

Close filter() 子句

/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

CanceledCount with sum as CanceledCount

将取消的运行数计数为 CanceledCount

)

Close aggregate() 子句。

特定管道 ID 的管道运行结果摘要

可以重命名管道。 若要确保在更改管道名称时 Power BI 报表不会中断,请使用管道 ID 而不是其名称。 可以从管道运行页的 URL 获取管道 ID。

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

按分支筛选的管道运行结果摘要

若要查看特定分支的管道的结果摘要,请使用以下查询。 若要创建报表,请执行以下步骤:

  • 扩展到BranchBranch.BranchName
  • 更改列数据类型
  • 创建圆环图报表
  • “可视化效果”窗格中选择“切片器”,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} "
                &") "
        &"/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、拉取请求等) 。 若要创建报表,请执行以下步骤:

  • 更改列数据类型
  • 创建圆环图报表
  • “可视化效果”窗格中选择“切片器”,Pipeline.PipelineName并将 添加到切片器的字段
  • 从切片器中选择需要查看其结果摘要的管道。

可以将下面列出的 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

所有项目管道的结果摘要

你可能希望在单个报表中查看所有项目管道的管道结果摘要。 若要创建报表,请执行以下步骤:

  • 展开 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} "
                &") "
                &"/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,然后从“转换”菜单中选择“数据类型”,然后选择“整数”。 若要了解有关更改数据类型的详细信息,请参阅 转换分析数据以生成 Power BI 报表、转换列数据类型

(可选) 重命名列字段

可以重命名列字段。 例如,可以将列 Pipeline.PipelineName 重命名为 Pipeline NameTotalCountTotal Count。 若要了解如何操作,请参阅 重命名列字段

关闭查询并应用更改

完成所有数据转换后,从“开始”菜单中选择“关闭&应用”以保存查询并返回到 Power BI 中的“报表”选项卡。

Power Query 编辑器“关闭并应用”选项的屏幕截图。

创建圆环图报表

  1. 在 Power BI 的“可视化效果”下,选择 “圆环图 ”报表。

    所有管道运行报表的可视化字段选择的屏幕截图。

  2. 按指示的顺序将以下字段添加到 “值”。 右键单击每个字段,并确保选中“ 求和 ”。

    • CanceledCount
    • PartiallySucceededCount.
    • SucceededCount
    • FailedCount
  3. 若要更改报表标题,请从“可视化效果”窗格中选择“设置视觉对象画笔格式”图标,选择“常规”,展开“标题”,然后替换现有文本。

    “可视化效果”窗格的屏幕截图,“报表格式”选项和“更改标题”。

    下图显示了生成的报表。

    Power BI 示例管道结果摘要报表的屏幕截图。