如何轮询质量门执行状态?

时间:2017-06-20 13:07:47

标签: sonarqube sonarqube-scan quality-gate sonarqube-api

我想使用REST api调用来轮询SonarQube 6.3实例的质量门执行状态。我经历了几次api通话,但没有给我预期的结果。

我尝试使用这些网址:

  1. http://localhost:9000/api/resources
  2. http://localhost:9000/api/components
  3. 但我总是得到这样的答复:

    {"errors":[{"msg":"Unknown url : /api/resources"}]}
    

    如何通过REST轮询质量门执行状态?

3 个答案:

答案 0 :(得分:2)

http://localhost:9000/web_api列出了服务器上可用的Web服务端点,并提供了每个端点的文档。在我的6.3副本中," api / resources"的文档说

  

自6.3以来删除,请使用api / components和api / measures

你说你已经尝试http://localhost:9000/api/components并且收到了错误。那是因为那里实际上并不是一个Web服务。您必须为所需服务添加限定符,例如/api/components/search,如该组服务的文档中所述:http://localhost:9000/web_api/api/components

答案 1 :(得分:1)

事实上,正确的SonarQube网络应用程序中有5个部分。它们可以看作X,例如domain/api/controller/action?parameters

所以我们有:

  1. :在示例中由http://localhost:9000/api/components/show?componentKey=blue表示,它是您可以调用SonarQube服务器的地址
  2. api :在示例中由http://localhost:9000表示,它是SonarQube中所有网络服务的基本路径
  3. 控制器:在示例中由/api表示,它表示与给定主题(问题,配置文件,组件等)相关的Web服务池。
  4. 操作:在示例中由/components表示,它是您可以通过网络服务执行的单位操作,例如:show,search,list,backup,删除等
  5. 参数:在示例中由/show表示,它们并非总是强制性的,但通常允许您指定更多信息以获得更精确的结果
  6. 您在此处忘记的是指定操作

答案 2 :(得分:0)

http://localhost:9000/api/project_analyses/search?project=myProjectname&category=QUALITY_GATE

此查询返回了我的质量门的状态。这里我提到了项目名称为myProjectname

相关问题