You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps团队仪表板展示流水线生成的代码覆盖率结果

解决方案

方法1:自定义脚本+现有仪表板组件快速实现

步骤1:流水线中提取覆盖率数值

假设你的手动测试覆盖率结果已生成结构化文件(如coverage.json/coverage.xml),添加PowerShell/Bash任务提取百分比:

  • PowerShell示例(JSON格式结果):
# 读取并解析覆盖率文件
$coverageContent = Get-Content -Path "./coverage.json" -Raw | ConvertFrom-Json
$coveragePercent = $coverageContent.overall.percentage # 根据实际JSON结构调整路径

# 设置为流水线输出变量
Write-Host "##vso[task.setvariable variable=ManualCoverage;isOutput=true]$coveragePercent"
  • Bash示例(XML格式结果,用xmllint提取):
# 从coverage.xml提取覆盖率数值(假设节点路径为//coverage/@line-rate)
coverage_percent=$(xmllint --xpath "string(//coverage/@line-rate)" coverage.xml)
coverage_percent=$(echo "$coverage_percent * 100" | bc -l | xargs printf "%.1f")

# 设置流水线变量
echo "##vso[task.setvariable variable=ManualCoverage;isOutput=true]$coverage_percent"

步骤2:将数值同步到工作项自定义字段

  1. 在Azure DevOps项目中创建一个全局自定义字段(如ManualTestCoverage,类型选「小数」)。
  2. 在流水线中添加PowerShell任务,用API将覆盖率数值更新到一个专门用于存储指标的工作项:
$token = "$(System.AccessToken)"
$orgUri = "$(System.CollectionUri)"
$project = "$(System.TeamProject)"
$workItemId = "1000" # 替换为你的指标工作项ID
$coverageValue = "$(ManualCoverage)"

$headers = @{
    "Authorization" = "Bearer $token"
    "Content-Type" = "application/json-patch+json"
}

$patchBody = @(
    @{
        op = "replace"
        path = "/fields/Custom.ManualTestCoverage"
        value = $coverageValue
    }
) | ConvertTo-Json

Invoke-RestMethod -Uri "$orgUri/$project/_apis/wit/workitems/$workItemId?api-version=7.1-preview.3" `
    -Method Patch -Headers $headers -Body $patchBody

步骤3:用现有小部件展示

在团队仪表板中添加**「工作项统计」小部件**,配置为展示ManualTestCoverage字段的数值,即可实时显示最新的手动测试覆盖率。

方法2:Power BI嵌入可视化

  1. 在Power BI Desktop中连接Azure DevOps数据源,导入包含自定义覆盖率字段的工作项数据,创建「卡片」可视化组件展示百分比。
  2. 将报表发布到Power BI服务,然后在Azure DevOps仪表板中添加**「Power BI」小部件**,选择对应的报表和可视化完成嵌入。

方法3:自定义极简仪表板小部件(适合有前端能力的团队)

如果团队能开发简单前端组件,可基于Azure DevOps Dashboard Widget SDK做一个专属小部件:

  • 初始化小部件项目,配置vss-extension.json声明权限和显示规则。
  • 编写前端代码调用Azure DevOps API拉取存储的覆盖率数据(从工作项或自定义指标库)。
  • 打包后上传到组织私有扩展库,添加到仪表板即可使用。

内容的提问来源于stack exchange,提问作者EFE FEHMİ TAYCI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 17:25:36