【问题标题】:Prevent SonarQube from failing Pull Request checks防止 SonarQube 未能通过拉取请求检查
【发布时间】:2018-09-06 20:27:44
【问题描述】:

我已通过 jenkins/github/sonarqube 集成设置了自动“拉取请求检查”。
工作流程如下:
用户创建的 Github pull request → Github Webhook 触发,并调用 Jenkins API 执行 sonarqube 扫描器 → 报告给 sonarqube 服务器 → sonarqube 服务器调用 github API(create commit statuses : ref https://developer.github.com/v3/repos/statuses/) 并发表关于 PR 的评论。

问题在于它将 PR 标记为检查失败,只是因为它没有通过代码健康检查。构建通过了,但是代码是“脏的”——这会导致 PR 被标记为不可接受。 我想找到一种方法来防止代码质量检查显示为提交的实际状态,并且只允许评论。

提供一些上下文的附加图像:

SonarQube 使用 techuser 帐户令牌将其分析摘要作为评论发布在 PR 线程上。 (对不起,黑匣子,公司的东西..)
这个功能就是我们需要的一切,仅此而已。

但是...插件还做了一件事,即将提交标记为失败。请注意,我们已经在使用其他东西来检查实际的构建失败。虽然它没有失败,但由于代码质量,sonarqube 将提交标记为失败,这会使整个提交显示为失败。我想阻止 sonarqube 设置分支检查状态,同时让它对问题发表评论。我在 jenkins 插件配置、sonarqube 管理页面和 sonarqube 扫描仪脚本文档中都找不到类似的选项。

提前致谢。

【问题讨论】:

    标签: jenkins github sonarqube


    【解决方案1】:

    当前使用SonarQube GitHub plugin 时无法实现您想要实现的目标,因为此行为是在插件中硬编码的,并且没有配置选项来自定义它。

    在即将发布的 SonarQube 和 SonarCloud 版本中,拉取请求将具有内置支持,并且行为将如下所示:

    • 如果由 SonarQube/SonarCloud 分析的 PR 上至少存在未解决的问题,则状态将显示为红色
    • 团队将能够在 SonarQube/SonarCloud 中将这些问题标记为“已确认”(以确认他们接受了这项技术债务),在这种情况下,状态将在 GitHub 中自动变为绿色

    【讨论】:

    • 感谢您的快速回答。我会期待未来的版本。
    猜你喜欢
    • 2016-09-16
    • 2016-12-26
    • 2017-03-09
    • 2021-10-15
    • 2013-11-30
    • 2022-01-04
    • 2019-12-29
    • 1970-01-01
    • 2011-02-16
    相关资源
    最近更新 更多