SonarQube REST API:读取单个项目的度量



我的问题:

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

我们尝试了什么

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

我还尝试使用通过Web API使用CURL命令获取数据curl-i-H"内容类型:application/json"-H"x-api-key:token"-x GET'http://MY_HOST/api/measures/component?metricKeys=key&component=project_key'
我们能够获得单个度量的json有效载荷,但每次都要创建URL,这是一项乏味的任务。

但我想知道是否有更好/更聪明的方式来获取这些"措施",无论是任何语言还是实施方式。

您可以这样做:

首先调用APIapi/metrics/search以获得所有度量的(json(列表,然后在该列表上迭代并创建所有度量键的逗号分隔字符串。

例如:ncloc,complexity,violations。。如API文档中的参数示例值所述。

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

并调用一次以获得所有度量的响应。

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

最新更新