防止SonarQube失败的拉取请求检查

时间:2018-03-28 08:31:59

标签: jenkins github sonarqube

我已经设置了一个自动"拉取请求检查"通过jenkins / github / sonarqube整合 工作流程如下:
用户创建的Github pull请求→Github Webhook触发器,并调用Jenkins API执行sonarqube扫描器→向sonarqube服务器报告→sonarqube服务器调用github API(创建提交状态:ref https://developer.github.com/v3/repos/statuses/)并发布有关PR的评论。

问题在于它将PR标记为检查失败只是因为它没有通过其代码运行状况检查。构建通过,但代码是"脏" - 这导致PR被标记为不可接受。 我想找到一种方法来阻止代码质量检查显示为提交的实际状态,并且只允许发表评论。

提供一些背景的附加图片:

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

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

提前致谢。

1 个答案:

答案 0 :(得分:2)

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

在即将推出的SonarQube和SonarCloud版本中,pull请求将具有内置支持,行为如下:

  • 如果SonarQube / SonarCloud分析的PR上至少存在未解决的问题,状态将为红色
  • 团队将有能力将这些问题标记为"已确认"在SonarQube / SonarCloud中(承认他们接受此技术债务),在这种情况下,状态将在GitHub中自动变为绿色