SonarQube 5.5 API - componentKey 约定
SonarQube 5.5 API - componentKey convention
我正在尝试使用“api/measures/component”端点从我们的 SonarQube 实例中提取覆盖率数据。这是一个多模块 java 项目。使用 POSTMAN,我可以使用 'componentKey' 查询单个 java 文件,该文件由
这样的字符串组成
[maven-groupId]:[maven-artifactId]:[path to java file]
生成的字符串类似于
com.i.pc.e.components.o:om-wf-e:src/main/java/com/i/e/o/wf/actions/Xxxx.java
和returns这个json响应
{
"component": {
"id": "AVci_6G7elHqFlTqG_OC",
"key": "com.i.pc.e.components.o:om-wfl-e:src/main/java/com/i/e/o/wf/actions/Xxxx.java",
"name": "Xxxx.java",
"qualifier": "FIL",
"path": "src/main/java/com/i/e/om/wf/actions/Xxxxx.java",
"language": "java",
"measures": []
},
"metrics": [
{
"key": "coverage",
"name": "Coverage",
"description": "Coverage by unit tests",
"domain": "Coverage",
"type": "PERCENT",
"higherValuesAreBetter": true,
"qualitative": true,
"hidden": false,
"custom": false,
"decimalScale": 1,
"bestValue": "100.0",
"worstValue": "0.0"
}
]
}
这对于一次性请求来说很好,但我需要对许多 Java 源文件执行此操作,而且我手头没有 Maven 详细信息。
是否有关于 'componentKey' 格式的约定或文档?
理想情况下,我想在 'compomentKey' 中定义完整的包和 java 源文件名,或者有没有办法通过其他 REST 'componentId' API打电话?
使用 components 服务从您的项目开始遍历您的树(或树中的 sub-trees)并将您的 sonar.projectKey
值输入 baseComponentKey
参数.请特别注意 strategy
参数,它决定调用检索的 sub-set of children。
获得每个 child 的数据后,迭代它们以获得它们的度量应该很简单。
我正在尝试使用“api/measures/component”端点从我们的 SonarQube 实例中提取覆盖率数据。这是一个多模块 java 项目。使用 POSTMAN,我可以使用 'componentKey' 查询单个 java 文件,该文件由
这样的字符串组成[maven-groupId]:[maven-artifactId]:[path to java file]
生成的字符串类似于
com.i.pc.e.components.o:om-wf-e:src/main/java/com/i/e/o/wf/actions/Xxxx.java
和returns这个json响应
{
"component": {
"id": "AVci_6G7elHqFlTqG_OC",
"key": "com.i.pc.e.components.o:om-wfl-e:src/main/java/com/i/e/o/wf/actions/Xxxx.java",
"name": "Xxxx.java",
"qualifier": "FIL",
"path": "src/main/java/com/i/e/om/wf/actions/Xxxxx.java",
"language": "java",
"measures": []
},
"metrics": [
{
"key": "coverage",
"name": "Coverage",
"description": "Coverage by unit tests",
"domain": "Coverage",
"type": "PERCENT",
"higherValuesAreBetter": true,
"qualitative": true,
"hidden": false,
"custom": false,
"decimalScale": 1,
"bestValue": "100.0",
"worstValue": "0.0"
}
]
}
这对于一次性请求来说很好,但我需要对许多 Java 源文件执行此操作,而且我手头没有 Maven 详细信息。
是否有关于 'componentKey' 格式的约定或文档?
理想情况下,我想在 'compomentKey' 中定义完整的包和 java 源文件名,或者有没有办法通过其他 REST 'componentId' API打电话?
使用 components 服务从您的项目开始遍历您的树(或树中的 sub-trees)并将您的 sonar.projectKey
值输入 baseComponentKey
参数.请特别注意 strategy
参数,它决定调用检索的 sub-set of children。
获得每个 child 的数据后,迭代它们以获得它们的度量应该很简单。