如何通过SonarQube API直接获取项目问题按严重级别分类的汇总数据
解决方案
针对你使用的SonarQube 8.9.2 LTS版本,官方提供了对应参数可以直接获取问题按严重级别分组的汇总数据,无需拉取全量明细。
接口配置方法
你仍然可以使用已经找到的GET /api/issues/search接口,只需要新增两个参数即可实现聚合统计,不需要循环拉取分页数据:
- 新增
facets=severities参数:指定接口返回按严重级别分组的统计结果 - 新增
ps=1参数:仅返回1条问题明细,大幅降低接口返回体积 - 保留你原有查询的项目筛选参数(比如
componentKeys=你的项目唯一标识)
请求示例
GET http://your_sonar_domain/api/issues/search?componentKeys=your_project_key&facets=severities&ps=1
返回结果处理
返回的JSON结构中facets字段下会直接包含各严重级别的统计值,对应片段示例如下:
{ "facets": [ { "property": "severities", "values": [ { "val": "CRITICAL", "count": 5800 }, { "val": "BLOCKER", "count": 1300 }, { "val": "MAJOR", "count": 1300 }, { "val": "MINOR", "count": 1100 }, { "val": "INFO", "count": 233 } ] } ], "issues": [/* 仅1条明细,可直接忽略 */] }
你只需要遍历该values数组,就能快速提取数据转换成你需要的目标格式。
内容的提问来源于stack exchange,提问作者Alexei
相关产品推荐
相关产品推荐

