我想使用REST api调用来轮询SonarQube 6.3实例的质量门执行状态。我经历了几次api通话,但没有给我预期的结果。
我尝试使用这些网址:
但我总是得到这样的答复:
{"errors":[{"msg":"Unknown url : /api/resources"}]}
如何通过REST轮询质量门执行状态?
答案 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
。
所以我们有:
http://localhost:9000/api/components/show?componentKey=blue
表示,它是您可以调用SonarQube服务器的地址http://localhost:9000
表示,它是SonarQube中所有网络服务的基本路径/api
表示,它表示与给定主题(问题,配置文件,组件等)相关的Web服务池。/components
表示,它是您可以通过网络服务执行的单位操作,例如:show,search,list,backup,删除等/show
表示,它们并非总是强制性的,但通常允许您指定更多信息以获得更精确的结果您在此处忘记的是指定操作。
答案 2 :(得分:0)
http://localhost:9000/api/project_analyses/search?project=myProjectname&category=QUALITY_GATE
此查询返回了我的质量门的状态。这里我提到了项目名称为myProjectname