在 Jenkins 中记录 shellcheck 结果

Record shellcheck findings in Jenkins

我正在寻找一种方法来记录 shellcheck in my Jenkins Pipeline script. I was not able to find something so far. For other tools (Java, Python), I'm using Warnings Next Generation 的违规结果,但它似乎还不支持 shellcheck。我希望在我的 Jenkins Job 仪表板中可视化违规行为。有没有人有这方面的经验?或者也许是一个随时可用的自定义工具来警告 NG?

我自己确实找到了可行的方案。正如评论中所建议的那样,拼写检查提供了 checkstyle 格式,可以使用 Warnings NG 对其进行解析和可视化。以下管道阶段定义工作正常。

stage('Analyze') {
    steps {
        catchError(buildResult: 'SUCCESS') {
            sh """#!/bin/bash
                # The null command `:` only returns exit code 0 to ensure following task executions.
                shellcheck -f checkstyle *.sh > shellcheck.xml || :
            """
            recordIssues(tools: [checkStyle(pattern: 'shellcheck.xml')])
        }
    }
}

运行 生成的趋势图如下所示。