使用rest api检查声纳项目的代码覆盖率

时间:2018-04-23 16:37:46

标签: sonarqube sonarqube-scan

声纳版本:5.3

我正在打这个电话

https://mysonar/api/resources/index?metrics=coverage&key=test-project

但是,我没有从这个电话中获得测试项目的报道。 但我正在接受其他项目和他们的报道。 当我这样做时

https://sonaraws.kdc.capitalone.com/api/resources/index

我能够看到关于api响应的测试项目。

如何深入查看特定项目,而不是从其余调用Sonar中检查其他项目。

2 个答案:

答案 0 :(得分:1)

我正在使用以下api获取覆盖率。 Sonarqube版本-6.7.5

使用下面列出的第一个api获取项目的componentId。

https://sonarurl/api/components/show?key=ProjectKey

https://sonarurl/api/measures/component?componentId=Ahvhjvds87373&metricKeys=coverage

响应

{
    "component": {
        "id": "Ahvhjvds87373",
        "key": "ProjectKey",
        "name": "ProjectName",
        "qualifier": "TRK",
        "measures": [{
            "metric": "coverage",
            "value": "79.3",
            "periods": [{
                "index": 1,
                "value": "0.0"
            }]
        }]
    }
}

答案 1 :(得分:0)

api/resources不支持key参数。您必须使用qualifiersresource参数指定项目ID。

这应该适合你:

https://mysonar/api/resources/index?metrics=coverage&qualifiers=TRK&resource=test-project

qualifiers参数的可用值:

  • VW:view
  • SVW:子视图
  • TRK:项目
  • BRC:module
  • UTS:单元测试
  • DIR:目录
  • FIL:file
  • DEV:开发人员