如何知道 SonarQube 是否通过 API 进行了 post-分析
How to know if SonarQube has done post-analysis via API
我 运行 对 Java maven 项目进行 SonarQube 扫描,并将我的 Sonar 服务器设置为参数。
但是当命令行显示完成时,它不会立即出现在 SonarQube 网络 UI 上,也不会通过 API 出现。在漏洞数量增加之前,我需要等待 1 到 3 分钟。
我认为在将其推送到服务器时会进行某种 post 分析。
我怎么知道这种治疗何时完成?
这是因为我有另一项服务会在机器上完成分析后立即询问 SonarQube API,但它总是 returns 0 个漏洞,因为 post 处理似乎未完成。
扫描工作完成后,会提供报告 link,但在扫描完成后,SonarQube 会立即启动一个“后台任务”,该任务会执行一些有些不透明的操作。该后台任务完成后,您的统计信息可能是最新的。
根据您 运行 扫描的方式,系统会自动为您管理此“等待”。例如,如果您使用 Jenkins 管道,则应该使用“withSonarQubeEnv”和“waitForQualityGate”管道步骤。后者进入等待循环,检查后台任务是否完成。也可以使用 SonarQube“WebApi”RESt 服务,它可用于获取后台任务的状态。我会提供更多信息,但您没有提供有关您的扫描 运行 正在进入的环境的太多信息。
我 运行 对 Java maven 项目进行 SonarQube 扫描,并将我的 Sonar 服务器设置为参数。
但是当命令行显示完成时,它不会立即出现在 SonarQube 网络 UI 上,也不会通过 API 出现。在漏洞数量增加之前,我需要等待 1 到 3 分钟。
我认为在将其推送到服务器时会进行某种 post 分析。 我怎么知道这种治疗何时完成?
这是因为我有另一项服务会在机器上完成分析后立即询问 SonarQube API,但它总是 returns 0 个漏洞,因为 post 处理似乎未完成。
扫描工作完成后,会提供报告 link,但在扫描完成后,SonarQube 会立即启动一个“后台任务”,该任务会执行一些有些不透明的操作。该后台任务完成后,您的统计信息可能是最新的。
根据您 运行 扫描的方式,系统会自动为您管理此“等待”。例如,如果您使用 Jenkins 管道,则应该使用“withSonarQubeEnv”和“waitForQualityGate”管道步骤。后者进入等待循环,检查后台任务是否完成。也可以使用 SonarQube“WebApi”RESt 服务,它可用于获取后台任务的状态。我会提供更多信息,但您没有提供有关您的扫描 运行 正在进入的环境的太多信息。