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

如何在Jenkins多分支流水线的分支列表中显示覆盖率数值

实现Jenkins多分支流水线分支列表显示覆盖率数值

要在分支列表直接查看覆盖率,需要完成两项配置:提取覆盖率并设置构建描述,同时添加视图列展示覆盖率。

1. 在流水线中提取覆盖率并设置构建描述

修改测试阶段的post部分,新增Groovy脚本解析Cobertura报告,提取整体行覆盖率并设置为构建描述,这样分支的构建历史条目会直接显示覆盖率:

stage('Run tests') {
    steps {
        sh 'npm run-script test -- --coverage --testResultsProcessor=jest-junit --outputFile=test-results.xml'
    }
    post {
        always {
            junit 'junit.xml'
            cobertura coberturaReportFile: '**/coverage/cobertura-coverage.xml'
            recordCoverage(tools: [[parser: 'COBERTURA']], id: 'cobertura', name: 'Cobertura Coverage', sourceDirectories: [[path: '**/src']])
            // 新增:提取覆盖率并设置构建描述
            script {
                def coverageXmlPath = findFiles(glob: '**/coverage/cobertura-coverage.xml')[0].path
                def coverageXml = readFile(file: coverageXmlPath)
                def coverageData = new XmlSlurper().parseText(coverageXml)
                def lineRate = coverageData.'coverage'.@lineRate.text()
                def coveragePercent = String.format("%.2f%%", Double.parseDouble(lineRate) * 100)
                currentBuild.setDescription("覆盖率: ${coveragePercent}")
            }
        }
    }
}

这里用findFiles确保精准定位报告文件,避免路径匹配问题;解析XML获取行覆盖率后转成百分比格式,直接设置为构建描述。

2. 配置分支视图列显示覆盖率

进入多分支流水线项目页面,按以下步骤操作:

  • 点击左侧菜单的Configure(配置)
  • 滚动到View Configuration(视图配置)区域
  • 在Columns(列)选项中,点击Add column(添加列),选择Cobertura Coverage Column
  • 保存配置后返回分支列表,即可看到新增列展示每个分支最近一次构建的覆盖率数值。

注意:需确保已安装最新版的Cobertura Plugin和Branch API Plugin,这两个插件支持分支视图的覆盖率列展示功能。

内容的提问来源于stack exchange,提问作者Yura Bysaha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:18:13