如何自动更改质量门?

3
我们正在使用Jenkins作为我们的CI服务器,以及Sonarqube进行代码分析。
目前我们使用的是SonarQube 4.5.7版本,我们想要升级到6.5版本。我们有几个质量门限,但我们找不到一种自动分配质量门限给项目的方法。
在之前的版本中,我们使用了sonar.QualityGate属性,但这个属性现在已经被弃用了。
在开始分析之前,我们如何让Jenkins设置好质量门限呢?

该领域仍在运作中 :D 但您可以使用API。 - Simon Schrottner
你是否正在运行基于分支的分析?否则,您可以在项目的管理面板中设置一次配置文件,它将保持不变。如果您使用像Sonar4Stash这样的Bitbucket插件,它也可以根据目标分支设置您的配置文件和门控。 - Simon Schrottner
@SimonSchrottner,我刚试着添加一个不存在的质量门,但它被忽略了。我们为每个分支运行Sonar,这就是为什么我们需要动态添加门的原因,你有任何API使用示例吗?我无法使其工作... - Mor Lajb
https://next.sonarqube.com/sonarqube/web_api -> 通常情况下,您可以在那里找到所有必要的信息... - Simon Schrottner
为什么必须自动设置质量门?您经常更改它吗?还是在每次分析之前放弃您的项目? - slartidan
@slartidan,我有多个质量门,由于我们扫描每个分支,所以我需要在扫描之前更新它的能力。 - Mor Lajb
1个回答

1
使用sonar.branch属性来运行分支分析。我猜(未经测试)主项目的质量门槛将适用。
如果由于某种原因无法使用该选项,请使用curl来提供项目并设置质量门槛:
curl -s -u admin:admin -XPOST "localhost:9000/api/projects/create?project=b&name=bla"  | python -m json.tool
curl -s -u admin:admin -XPOST "localhost:9000/api/qualitygates/select?projectKey=b&gateId=1"  | python -m json.tool

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接