如何知道SonarQube是否通过API进行了事后分析



我在Java maven项目上运行SonarQube扫描,我的Sonar服务器设置为参数。

但是当命令行说它已经完成时,它不会立即出现在SonarQube web UI上,也不会通过API出现。在漏洞数量增加之前,我需要等待1到3分钟。

我认为当它被推送到服务器时,有一种后期分析。我怎么知道这个治疗什么时候完成了呢?

这是因为我有另一个服务,一旦在机器上完成分析,立即请求SonarQube API,但它总是返回0漏洞,因为事后处理似乎没有完成。

当扫描工作完成时,提供报告链接,但是在扫描完成后,SonarQube启动一个"后台任务";它做了一些不太透明的事情。在后台任务完成后,您的统计数据很可能是最新的。

根据您运行扫描的方式,此"等待"自动为您管理。例如,如果你使用Jenkins管道,你应该使用withSonarQubeEnv"one_answers";waitForQualityGate"管道的步骤。后者进入等待循环,检查后台任务是否完成。也可以使用SonarQube"webapi"。RESt服务,可用于获取后台任务的状态。我想提供更多的信息,但是你没有提供太多关于你的扫描运行环境的信息。

最新更新