Jenkins中Warning NG无法统计新增/修复问题数的求助
Jenkins CppCheck 新增/修复问题数统计异常的解决办法
针对Jenkins更新后,CppCheck分析的新增、修复问题数始终为0,所有问题标记为“Outstanding”的问题,可尝试以下解决方案:
1. 显式配置基线构建
新版本的Warnings Next Generation插件需要明确指定基线来源才能对比历史结果。修改recordIssues步骤,添加基线参数:
recordIssues enabledForFailure: true, tool: cppCheck(pattern: 'cppcheck/cppcheck.xml'), baseline: lastSuccessful() // 使用上一次成功构建作为基线
该参数会让插件自动对比当前构建与上一次成功构建的结果,从而正确统计新增、修复的问题数。
2. 确保工具标识符匹配
在recordIssues中显式指定id,保证后续宏引用的工具标识准确:
recordIssues enabledForFailure: true, id: 'cppcheck', tool: cppCheck(pattern: 'cppcheck/cppcheck.xml'), baseline: lastSuccessful()
避免因工具标识模糊导致宏统计时无法正确关联数据。
3. 验证CppCheck报告的有效性
- 检查报告路径:在流水线中添加步骤验证文件存在性:
sh 'ls -l cppcheck/cppcheck.xml' - 检查报告格式:确保XML文件符合CppCheck标准输出格式,无语法错误。可通过
sh 'cat cppcheck/cppcheck.xml'查看内容。
4. 检查插件版本与兼容性
- 若Jenkins更新后Warnings Next Generation插件版本变更,可能存在参数或行为变化。可尝试回退插件至之前能正常工作的版本,或确认插件文档中的参数调整说明。
- 确认
tm宏与ANALYSIS_ISSUES_COUNT的使用方式未发生变更,确保宏参数中的tool值与recordIssues的id完全一致。
5. 检查构建历史保留策略
确保Jenkins任务的构建历史未被清理,上一次成功构建的结果必须存在。在任务配置的“构建历史”部分,调整保留天数或构建数量,保证基线构建数据可用。
内容的提问来源于stack exchange,提问作者Thomas Challine
相关产品推荐
相关产品推荐

