sonar接口信息可以在这里获取
地址http://192.168.240.82:30006/web_api
使用postman 选择basic auth获取后,可以在heders看到Authorization
http://192.168.240.82:30006/api/authentication/login
如果没有token,只能获取公共项目的信息,所以需要添加token获取私有项目的信息。
http://192.168.240.82:30006/api/components/search_projects?f=analysisDate%2CleakPeriodDate
扫描的结果如下
同样,需要获取token来查询私有项目
http://192.168.240.82:30006/api/qualitygates/project_status?projectKey=项目key
项目key就是上面项目信息中的key值。
结果中的status就是扫描的最后结果,如果需要更详细的信息,需要自己用更多的api获取。
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”
注意:这个全部获取返回的数据不一定是全部类型都有的,需要自己在代码判断。
value 就是这个数据的值,写代码的时候就可以直接取出来。
通过以上几个接口可以将sonar 的数据完全展示出来,可以方便cicd上的集成数据展示
大部分的接口,传入的参数需要时项目的key,这个接口可以直接使用项目的name来获取将项目信息。
http://192.168.240.82:30006/api/components/search?qualifiers=TRK&q=项目名