SonarQube 5.3 API获取指定项目代码覆盖率问题咨询
解决SonarQube 5.3 REST API指定项目查询的问题
我来帮你搞定这个SonarQube 5.3的API查询问题!你遇到的情况其实是因为对老版本接口的参数用法理解有误,咱们一步步来解决:
问题根源
在SonarQube 5.3中,api/resources/index接口的key参数不是用来精准匹配单个项目的——它的作用是匹配资源键的前缀,所以如果其他项目的key包含test-project这个前缀(或者存在部分匹配的情况),就会被一起返回。而你不带metrics参数调用时能看到test-project,是因为此时接口返回了所有项目的列表。
正确的解决方案
要精准查询指定项目的覆盖率,你需要改用resource参数来指定项目的key,而不是key参数:
https://mysonar/api/resources/index?metrics=coverage&resource=test-project
这个参数会严格匹配项目的key,只会返回test-project的覆盖率数据。
额外排查建议
- 先确认项目key的准确性:调用无参数的
api/resources/index,仔细核对test-project的key是否完全正确(比如大小写、特殊字符有没有差异),拼写错误也会导致匹配失败。 - 记住在SonarQube 5.3里,
key参数是模糊匹配用的,比如如果你有test-project-v2这类项目,用key=test-project也会把它返回,这就是你之前看到其他项目的原因。
内容的提问来源于stack exchange,提问作者Ishu Gupta
相关产品推荐
相关产品推荐

