SonarQube REST API:读取各个项目的度量标准

我的问题:

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

我们尝试了什么

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

我也尝试使用通过Web API使用CURL命令获取数据
curl -i -H“Content-Type:application / json”-H“x-api-key:token”-X GET’http://MY_HOST/api/measures/component?metricKeys=key&component=project_key
 我们能够为各个指标获取json有效负载,但每次都需要创建URL的繁琐任务.

但我想知道是否有更好/更聪明的方式来访问这些“措施”,无论是任何语言或实现.

最佳答案 你可以这样做:

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

例如:ncloc,复杂性,违规……如API文档here中的参数示例值中所述.

然后你可以把这个以逗号分隔的列表添加到url作为参数,例如:http:// MY_HOST / api / measures / component?metricKeys = ncloc,复杂性,违规& component = project_key

并调用一次以获得所有指标的响应.

另外,我没有尝试过,但根据最新文档,参数组件是可选的.因此,如果省略,理想情况下,您应该获得所有项目的指标响应.

点赞