无法通过REST API访问默认的Quality Gate
问题描述:
使用python和REST API I遍历所有Quality门。无法通过REST API访问默认的Quality Gate
我总共有5个项目,有两个不同的质量门,名为“好”和“优秀”。
2使用“良好”质量门的项目和3使用“优秀”质量门的项目。 设置为“优秀”的3个项目正在使用默认质量门。
- 当请求“优秀”项目的数量时,我得到答案0!
当从默认更改为“优秀”质量门我得到正确的数字:3!
我找不到默认质量门的API?
我发现没有办法发现默认网关的名称?
不应该将“默认”解析为“优秀”吗?
for gate in gates['qualitygates']:
qualId = gate['id']
projs = sonarH.get_search_quality_gates(qualId)
theProjects = projs['results']
print("Quality Gate Name: " + gate['name'] + " Count: " + str(len(theProjects)))
输出:
Quality Gate Name: ST :: Excellent Quality Count: 0
Quality Gate Name: ST :: Good Quality Count: 2
答
这是预期的行为。 Web服务返回与门关联的项目数量,但不包括使用它的项目的有效数量。出于这个原因,标记为默认值的门总是返回零。
另一种方法是通过使用Web服务api/qualitygates/get_by_project?projectKey=[the_key]
来请求用于每个项目的质量门。请注意,此Web服务被标记为“内部”,因此可能会在未来版本中应用更改,而不会保持向后兼容性。
试图访问这个api,但得到了“你正在寻找的页面不存在。” 访问“默认”网关的任何其他方式? –
我提到的Web服务已在6.1版中引入:https://sonarqube.com/web_api/api/qualitygates/get_by_project –