我使用Codescan对Sonarqube进行了分析。返回的问题数量远高于10000 web api限制。因此,在我的客户端/代码中,我想循环遍历质量配置文件中的所有规则,并返回每个规则的所有问题。
如何使用java中的web api获取规则列表?
答案 0 :(得分:0)
您可以使用api/qualityprofiles/backup
。它将质量配置文件密钥作为参数,并返回包含所有“活动规则”的xml。
答案 1 :(得分:-2)
较新的SonarQube版本没有10K问题限制
你必须循环n次以收集所有结果
例如:
考虑一个有44K问题的项目
你必须首先发现你需要阅读多少问题,只用你的项目键调用/ api / issues / search,参数ps(pagesize)等于100
的 HTTP:/// API /问题/搜索componentKeys =安培; PS = 100 强>
你可以收到这样的答案
{ “总”:44130, “P”:1, “PS”:100, “寻呼”:{ “的PageIndex”:1, “pageSize的”:100, “总”:44130}, “问题”: [{ “键”: “AVtoCSNP6OwvnmtEJjae”,“RU ..........
所以我们必须声明44130个问题,使用100的页面大小然后你必须调用(44130/100)+ 1次/ api / issues /搜索你的项目,并且每个请求记得增加1 p( page)参数(所以你可以指出结果的正确部分)
你的命令序列将是这样的
<强> HTTP:/// API /问题/搜索componentKeys = YOUR_PROJECT_KEY&GT;&安培; PS = 100安培; p = 1时 HTTP:/// API /问题/搜索componentKeys = YOUR_PROJECT_KEY&GT;&安培; PS = 100安培; P = 2& HTTP:/// API /问题/搜索componentKeys = YOUR_PROJECT_KEY&GT;&安培; PS = 100安培; P = 3? .... HTTP:/// API /问题/搜索componentKeys = YOUR_PROJECT_KEY&GT;&安培; PS = 100安培; P = 442 强>
解析每次通话的结果,您将获得问题列表。
干杯
的Massimo