SonarQube:在第一次分析/构建时检查是否已存在具有相同密钥的项目

时间:2014-03-13 14:14:29

标签: maven jenkins sonarqube

我正在使用Jenkins构建我的项目并使用SonarQube进行分析。

我试图修复的问题没有编写我自己的插件,如下:

  • 1。)Jenkins开始构建一个新项目(之前从未构建或分析过SonarQube)
  • 2。)触发SonarQube分析
  • 3。)SonarQube shell检查是否已存在具有相同密钥的项目
  • 4a。)如果它已经存在:中止分析并抛出错误消息
  • 4b。)如果不存在:继续分析作为正常分析

或者换句话说:如果首次分析项目,我希望SonarQube确保没有其他项目已经存在,并且这个新项目使用了相同的密钥。目标是避免通过完整的其他项目覆盖现有项目 如果一个项目已经被分析过,那么新的分析就像是一样,并且会更新旧的结果"我不希望出现任何错误消息。

我可以简单地安装一个插件吗?我必须在pom.xml中更改内容吗?有办法吗?如果是的话:它是如何运作的?

(我知道有可能获得Jenkins最后一次成功构建的构建数量。如果它大于或等于1,我的理查就没有理由了。如果不是:我需要我的检查)

感谢您的帮助:)

1 个答案:

答案 0 :(得分:4)

您可以使用脚本中的/api/resources?resource=project-key Web服务来检查给定的项目密钥是否已经存在(如果没有,WS将使用404回答)。

然而,正如@ andre-stannek所说:最终,您有责任确保2个项目不使用相同的密钥。 SQ无法知道分析的项目是否是现有项目的更新。