我的问题:
我正在使用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的繁琐任务。
但是我想知道是否有更好/更智能的方式来访问这些“措施”,无论是任何语言还是实施方式。
答案 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
是可选的。因此,如果您忽略了这一点,那么理想情况下,您应该得到一个包含所有项目指标的响应。