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

如何通过Jenkins Warnings-NG插件正确导入cfn-lint检测报告

解决方案

方案1:适配parseable格式通过Warnings NG导入

你之前使用yamlLint工具导入失败的核心原因是cfn-lint的parseable输出格式与yamlLint的输出格式规则不匹配,可通过Warnings NG的自定义解析规则直接匹配cfn-lint的输出格式:

  • 报告生成命令保持不变:
    cfn-lint -f parseable --output-file cfn-lint-report.out
  • 修改Jenkinsfile中的recordIssues配置,使用自定义解析规则:
recordIssues(
  tools: [
    issues(
      name: 'cfn-lint',
      pattern: 'cfn-lint-report.out',
      // 正则匹配cfn-lint parseable格式的输出字段:文件名、行号、列号、错误等级、规则ID、错误信息
      regexp: /^([^:]+):(\d+):(\d+):\s*(\w+)\s*(\w+):\s*(.*)$/,
      mapping: {
        fileName = matcher.group(1)
        lineStart = matcher.group(2) as Integer
        columnStart = matcher.group(3) as Integer
        severity = matcher.group(4) == 'ERROR' ? 'ERROR' : (matcher.group(4) == 'WARNING' ? 'NORMAL' : 'LOW')
        category = matcher.group(5)
        message = matcher.group(6)
      }
    )
  ]
)

该方案可以将cfn-lint的检测结果和你已有的Pylint、YamlLint结果统一在Warnings NG面板展示。

方案2:通过原生JUnit插件导入

使用Warnings NG的junitParser报错多为插件版本和cfn-lint输出的JUnit格式兼容性问题,可直接使用Jenkins内置的JUnit插件处理报告:

  • 报告生成命令保持不变:
    cfn-lint . -f junit --output-file cfn-lint-junit.xml
  • 替换导入配置为:
junit testResults: 'cfn-lint-junit.xml', allowEmptyResults: true

如果仍需要在Warnings NG面板统一查看,可升级Warnings NG插件到最新稳定版,最新版本已兼容cfn-lint输出的JUnit格式。


注意事项

  • 保持cfn-lint执行目录和Jenkins流水线工作目录一致,避免报告中的相对路径无法被插件识别
  • 建议将cfn-lint升级到v1.7.0及以上版本,低版本输出的报告格式可能存在字段缺失问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 03:09:03