2016-10-19 14 views
0

Java APIを使用してSonarQubeの結果を取得しようとしています。 私はいくつかの結果をうまく捉えることができましたが、私はいくつかの課題に直面しています。 私は2つの問題SonarQube Javaの問題

問題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:上記のコードはすべてのプロジェクトで結果を返しますが、 1つのプロジェクトで問題を解決する方法はありますか? 次のコードを試しましたが、動作していないようです。

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 を返して、あなたはどのように私はこれをacheiveすることができますを教えていただけますか?

私はインターネットで多くを検索しましたが、何の助けも見つかりませんでしたか? この点について私を助けてください。 ありがとうございます。

+2

問題1:明らかに、IssueQueryにはある種のページメカニズムがあります。 Javadocを参照してください:http://javadocs.sonarsource.org/4.5.2/apidocs/org/sonar/wsclient/issue/IssueQuery.html試してみないと、おそらく 'issueQuery.severities(...)を試してみてください。pageSize(10000) '。 –

答えて

0

問題1 結果のページ番号が付けられます。結果の総数についてはIssues#paging()、他のページを要求する場合はIssueQuery#pageIndex(int)を参照してください。

問題2 メソッドIssueQuery#componentRoots(String... projectKeys)では、プロジェクトをフィルタリングできます。

+0

こんにちはサイモン、ありがとうございます。 issueQueryオブジェクトでは、componentRoots()メソッドを取得できません。 私はsonar-ws-client.jarを使用しています。 しかし、代わりにissueQuery.components()メソッドを取得できました。 私はそれを試しましたが、うまくいきません。 以下は私のコードです IssueQuery issueQuery = IssueQuery.create(); issueQuery = issueQuery.components(projKey1、projKey2); IssueClient issueClient = sonarClient.issueClient(); 問題の問題= issueClient.find(issueQuery); リスト issueList = issues.list(); System.out.println( "いいえissue =" + issueList.size()); – Sachin

+0

どのバージョンのライブラリですか? –

+0

私はsonar-ws-client-5.1.jarを使用しています – Sachin