无法通过REST API访问默认质量门

时间:2016-11-11 17:19:30

标签: sonarqube

使用python和REST API,我遍历所有质量门。

我总共有5个项目,有2个不同的质量门,名为“好”和“优秀”。

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

1 个答案:

答案 0 :(得分:1)

这是预期的行为。 Web服务返回与门明确关联的项目数,但不返回使用它的项目的有效数量。因此,对于标记为默认的门,始终返回零。

另一种方法是使用Web服务api/qualitygates/get_by_project?projectKey=[the_key]请求每个项目使用的质量门。请注意,此Web服务标记为" internal"因此,可以在将来的版本中应用更改,而不保持向后兼容性。