Sonar api:analyzeid的目的是什么?

时间:2018-01-24 08:21:56

标签: sonarqube

我正在遵循指南,以便能够根据声纳报告控制工作状态:https://docs.sonarqube.org/display/SONARQUBE53/Breaking+the+CI+Build

这里解释说你得到一个taskid,当任务完成时你检索一个可以用来获取质量门信息的analysisId,使用/ api / qualitygates / project_status?analysisId =

我原本期望这个analysisId会持续存在并随时提供相同的报告。 事实并非如此。根据我的经验,api project_status总是返回最后一个有效的报告,并且不再保留过去的分析。

以下是我用来演示的协议

触发第一次分析,为我提供第一份报告:

api/qualitygates/project_status?analysisId=AWEnFPG63R-cEOOz4bmK 状态为ERRORcoverage = 80%

然后我触发第二个分析给我另一个id:

api/qualitygates/project_status?analysisId=AWEnHBj53R-cEOOz4bny 状态为OKcoverage=90%

现在,如果我回拨第一个analysisId api/qualitygates/project_status?analysisId=AWEnFPG63R-cEOOz4bmK - >报告已更改,与最后一个报告类似

有人能解释一下analyId的概念吗?因为这不是真正的分析标识符。

1 个答案:

答案 0 :(得分:0)

您在问题中提供的链接是文档的存档旧版本。由于您的评论显示您使用的是当前(6.7.1)版本的SonarQube,因此您将从使用当前文档中受益。

在当前版本中,Webhooks允许您在分析报告处理完成后通知外部系统。 Jenkins的SonarQube扫描器使其成为very easy to use webhooks in a pipeline,但即使您没有使用Jenkins管道,您仍应使用webhooks而不是尝试手动检索所有这些。如文档(先前链接)所示,webhook有效负载包括分析时间戳,项目名称和密钥以及质量门状态。