【发布时间】:2017-03-01 08:02:41
【问题描述】:
我正在尝试使用 Java API 检索 SonarQube 结果。 虽然我能够成功地检索到一些结果,但我也面临着一些挑战。 我有以下两个问题
问题 1: 我的代码如下
IssueQuery issueQuery = IssueQuery.create();
issueQuery.severities("MAJOR", "MINOR");
IssueClient issueClient = sonarClient.issueClient();
Issues issues = issueClient.find(issueQuery);
List<Issue> issueList = issues.list();
上面代码中的 issues.list() 总是只给出 100 个结果。不知道如何配置此参数以获取所有结果。您能告诉我如何检索所有问题吗?
问题 2 :上面的代码返回所有项目的结果。 有什么办法可以检索单个项目的问题吗? 我尝试了以下代码,但它似乎不起作用。
IssueQuery issueQuery = IssueQuery.create();
issueQuery.issues(projKey1, projKey2);
IssueClient issueClient = sonarClient.issueClient();
Issues issues = issueClient.find(issueQuery);
List<Issue> issueList = issues.list();
System.out.println("No of issues = "+issueList.size());
issueList.size() 返回值 0 你能告诉我我怎样才能做到这一点吗?
我在互联网上搜索了很多但找不到任何帮助? 你能在这方面帮助我吗? 提前致谢。
【问题讨论】:
-
对于问题1:很明显,IssueQuery中有某种页面机制。请参阅 Javadoc:javadocs.sonarsource.org/4.5.2/apidocs/org/sonar/wsclient/issue/… 没有尝试过,也许可以尝试
issueQuery.severities(...).pageSize(10000)。
标签: java sonarqube sonarqube5.1 sonarqube-web