【发布时间】:2018-05-07 14:24:39
【问题描述】:
我目前正在将 SonarQube 引入一个大型遗留项目。这意味着已经有数百条警告,在第一步中,我想确保没有来自我们的功能分支的新警告。
为了实现这一点,我希望在每个功能分支上运行 Sonar 分析,将其与主分支进行比较,并在引入新警告时提醒提交者。
假设以下情况:
MyProject 1.0-SNAPSHOT 是 SonarQube 上项目的名称和版本。它有 100 个警告。它代表develop 分支。 leak period 是 1 天前的分析。这很好用,我可以看到从昨天开始引入了哪些新警告。
开发人员正在开发feature/somefeature 分支。当他们打开拉取请求时,我希望在该分支上运行声纳分析。这工作正常,但我不能从昨天开始将 leak version 设置为 MyProject 1.0-SNAPSHOT,因为这个分支被 SonarQube 视为一个完全独立的项目,即使我将 sonar.projectKey 设置为同名,我也尝试过使用sonar.branch 属性。
期望的结果是:
开发 -> 100 条警告
feature/somefeature -> 102 条警告
在
feature/somefature的 SonarQube 仪表板上显示“2 个新警告”。
可以使用声纳本身完成,还是我需要使用声纳 REST API 编写自己的程序?
【问题讨论】:
-
是的,但我没有找到符合我要求的插件
-
@enp4yne,你有没有设法通过 Sonar REST API 解决它?
-
@StasKolodyuk 是的,我编写了一个小的 node.js 应用程序来满足我的需要。您可以给我发消息了解详细信息(我无法分享,因为它是我们的应用程序特有的)