我想使用 REST api 调用来轮询我的 SonarQube 6.3 实例的质量门执行状态。我经历了几次 api 调用,但没有给我预期的结果。
我尝试使用这些网址:
但我总是得到这样的回应:
{"errors":[{"msg":"Unknown url : /api/resources"}]}
如何通过 REST 轮询质量门执行状态?
我想使用 REST api 调用来轮询我的 SonarQube 6.3 实例的质量门执行状态。我经历了几次 api 调用,但没有给我预期的结果。
我尝试使用这些网址:
但我总是得到这样的回应:
{"errors":[{"msg":"Unknown url : /api/resources"}]}
如何通过 REST 轮询质量门执行状态?
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
事实上,正确的 SonarQube web api url 中有 5 个部分。domain/api/controller/action?parameters
例如,他们可以这样看http://localhost:9000/api/components/show?componentKey=blue
。
所以我们有:
http://localhost:9000
在示例中表示为,它是您可以调用 SonarQube 服务器的地址/api
在示例中表示为,它是SonarQube中所有Web服务的基本路径/components
在示例中由 表示,它表示与给定主题(问题、配置文件、组件等)相关的 Web 服务池/show
在示例中用 表示,它是一个可以通过 web 服务执行的单元动作,例如:显示、搜索、列出、备份、删除等。?componentKey=blue
在示例中表示为,它们并不总是强制性的,但通常允许您指定更多信息以获得更精确的结果您在这里忘记的是指定操作的方法。
http://localhost:9000/api/project_analyses/search?project=myProjectname&category=QUALITY_GATE
此查询返回了我的质量门的状态。这里我提到了项目名称为 myProjectname