sonarqube 接口api调用查询项目扫描结果

sonar接口信息可以在这里获取
地址http://192.168.240.82:30006/web_api
在这里插入图片描述

1.获取sonar的认证token

使用postman 选择basic auth获取后,可以在heders看到Authorization
http://192.168.240.82:30006/api/authentication/login
sonarqube 接口api调用查询项目扫描结果_第1张图片
sonarqube 接口api调用查询项目扫描结果_第2张图片

2.获取项目信息

如果没有token,只能获取公共项目的信息,所以需要添加token获取私有项目的信息。
http://192.168.240.82:30006/api/components/search_projects?f=analysisDate%2CleakPeriodDate
sonarqube 接口api调用查询项目扫描结果_第3张图片
扫描的结果如下
sonarqube 接口api调用查询项目扫描结果_第4张图片

3.获取项目扫描结果

同样,需要获取token来查询私有项目
http://192.168.240.82:30006/api/qualitygates/project_status?projectKey=项目key
项目key就是上面项目信息中的key值。
结果中的status就是扫描的最后结果,如果需要更详细的信息,需要自己用更多的api获取。
sonarqube 接口api调用查询项目扫描结果_第5张图片

4.获取项目扫描数据

http://192.168.242.84:30006/api/measures/component?component=“项目key”&metricKeys=“类型”
类型主要有新增bug,总的bug,新增覆盖率等等。:
单个获取:
types=[‘new_bugs’,‘bugs’,‘new_coverage’,‘coverage’,‘new_vulnerabilities’,‘vulnerabilities’,‘new_duplicated_lines_density’,‘duplicated_lines_density’]
单个循环遍历去取值,接口太慢了。建议使用全部获取。
全部获取:
types = “new_bugs,bugs,new_coverage,coverage,new_vulnerabilities,vulnerabilities,new_duplicated_lines_density,duplicated_lines_density”
注意:这个全部获取返回的数据不一定是全部类型都有的,需要自己在代码判断。
sonarqube 接口api调用查询项目扫描结果_第6张图片
value 就是这个数据的值,写代码的时候就可以直接取出来。
通过以上几个接口可以将sonar 的数据完全展示出来,可以方便cicd上的集成数据展示

5.根据项目名获取项目的信息

大部分的接口,传入的参数需要时项目的key,这个接口可以直接使用项目的name来获取将项目信息。
http://192.168.240.82:30006/api/components/search?qualifiers=TRK&q=项目名

sonarqube 接口api调用查询项目扫描结果_第7张图片

如果对你有帮助,请点个赞。

你可能感兴趣的:(静态扫描)