【问题标题】:SonarQube doesn't comment on GitHub pull requestsSonarQube 不对 GitHub 拉取请求发表评论
【发布时间】:2017-08-02 14:46:10
【问题描述】:

我正在尝试设置 SonarQube 在成功构建 Travis 后评论我的 GitHub 拉取请求。

我已经进行了正常的分析工作。对于拉取请求分析,我还准备了所有令牌,安装了插件等。拉取请求中的问题已成功识别:调试日志显示成功的 HTTP 请求,其中服务器响应相关问题。日志的一些行:

15:06:10.194 INFO: ANALYSIS SUCCESSFUL
15:06:10.197 DEBUG: Post-jobs : GitHub Pull Request Issue Publisher (wrapped)
15:06:10.197 INFO: Executing post-job GitHub Pull Request Issue Publisher (wrapped)

在 GitHub 上,我可以看到声纳使用的 oauth 令牌实际上正在被使用。

当向一个拉取请求添加提交时,甚至还有 sonarqube 的状态:当一个新的提交被添加时,它在等待响应的一小段时间,然后它变为"SonarQube reported no issues"。请注意,此状态会在声纳扫描仪在 Travis 上运行之前出现。

有谁知道可能是什么问题,或者我可以做些什么来进一步调试它?提前致谢!

【问题讨论】:

  • 您确定在拉取请求的更改行中有任何违规需要报告吗?如果没有要报告变更集的内容,则不会有任何 cmets。
  • @janos 是的,我确定。应该报告的确切更改是我可以通过对日志中显示的 URL 执行 HTTP 请求来检索的更改,如问题中所述。
  • 我不确定我是否足够强调这一点。我说的是 changeset 中的违规,而不是项目,甚至不是变更集中涉及的文件,而是拉取请求的 diff 中的行。该插件过滤项目的问题,仅评论差异中的新内容。那么,您确定拉取请求中的提交存在一些违规行为吗?
  • 我非常确定。为此,我创建了一些问题。
  • 你能解决这个问题吗?我也有同样的问题!

标签: github sonarqube travis-ci pull-request


【解决方案1】:

如果有帮助,我遇到了同样的问题。这个issue report 帮助了我。

总而言之,这个问题可能是由以下一个或多个因素造成的:

  1. Sonarqube 的分析模式需要设置为预览(-Dsonar.analysis.mode=preview),否则它似乎不会尝试连接到 GitHub;它将结果存储在 SonarQube 数据库中。

  2. 如果你的代码中通过扫描发现的问题已经保存到 SonarQube 的数据库中,它不会将它们发送到 GitHub,换句话说,当你运行时需要有新的问题它处于预览模式,以便将它们发送到 GitHub。

  3. 很明显,但最好仔细检查一下,确保您的 oauth 凭据正确且参数命名正确。

  4. 仔细检查 SonarQube 管理设置(常规部分)中的属性“预览模式接受的插件”和“预览模式排除的插件”,以确保没有排除 Github 插件。

    李>

可能还有更多,但希望这会有所帮助。吸引我的是 1 号和 2 号。

【讨论】:

  • 您好,很抱歉在别人的问题中提问。但是当我在预览模式下启用 github 时,我的构建失败,因为没有安装语言插件。我正在使用模块(不确定这是否重要)
  • 我不确定@PeterLai,请尝试单独提问,也许有人可以帮助您
  • 不再支持预览。
【解决方案2】:

Pull Requests 现在是 SonarQube 中面向开发人员、企业和数据中心版用户的一等公民功能。

作为described here,Sonarqube 7.2 + 社区版不支持拉取请求分析

【讨论】:

    猜你喜欢
    • 2019-12-19
    • 2018-07-09
    • 2018-02-22
    • 2013-04-18
    • 2019-04-10
    • 2016-03-09
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    相关资源
    最近更新 更多