SonarQube REST API:各个项目的读取指标

时间:2018-07-25 19:49:05

标签: sonarqube

我的问题:

我正在使用SonarQube 7.1版,并尝试提取与各个项目相关的指标和质量门。

我们尝试过的事情

在公司升级到7.1版之前,我们使用Python SonarQube API提取了这些数据。自“ sonarqube5.4”以来已弃用“ api / resources” Web服务,因此我们不能再使用它。

我还尝试过使用通过Web API使用CURL命令获取数据 curl -i -H“内容类型:应用程序/ json” -H“ x-api-key:令牌” -X GET'http://MY_HOST/api/measures/component?metricKeys=key&component=project_key'
 我们能够获取单个指标的json有效负载,但涉及到每次创建URL的繁琐任务。

但是我想知道是否有更好/更智能的方式来访问这些“措施”,无论是任何语言还是实施方式。

1 个答案:

答案 0 :(得分:1)

您可以这样做:

首先调用API api/metrics/search,以获取所有指标的(json)列表,然后遍历该列表并创建一个逗号分隔的所有指标键的字符串。

例如,诸如以下内容:ncloc,complexity,violations ..如API文档here的参数示例值中所述。

然后,您可以将此逗号分隔列表作为参数添加到url中,例如:http://MY_HOST/api/measures/component?metricKeys=ncloc,complexity,violations&component=project_key

并调用一次以获取所有指标的响应。

我还没有尝试过,但是根据最新文档,参数component是可选的。因此,如果您忽略了这一点,那么理想情况下,您应该得到一个包含所有项目指标的响应。