Ich versuche, die Gesamtzahl der nicht behobenen Fehler und Schwachstellen in dem jeweiligen Projekt mit sonar-ws-5.6.jar
zu erhalten.Sonar WS: So erhalten Sie die Gesamtzahl der nicht aufgelösten Fehler mit Sonar Webservice
Ich habe versucht, die Typ als BUG an die Suchanfrage übergeben. Aber ich bekomme immer noch alles ungelöste Zeug. Es nimmt nicht den Parametertyp an.
Wie erhalten Sie die genaue Anzahl der Fehler und Sicherheitslücken mit Webservice?
Hier ist mein Code, um mit Sonar zu verbinden und die Daten zu erhalten.
import java.util.ArrayList;
import java.util.List;
import org.sonarqube.ws.Issues.SearchWsResponse;
import org.sonarqube.ws.client.HttpConnector;
import org.sonarqube.ws.client.WsClient;
import org.sonarqube.ws.client.WsClientFactories;
import org.sonarqube.ws.client.issue.SearchWsRequest;
public class SonarTest {
static String resourceKey = "com.company.projectname:parent";
public static void main(String[] args) {
try {
// Get Issue
HttpConnector httpConnector = HttpConnector.newBuilder().url("http://localhost:9000").credentials("admin", "admin").build();
SearchWsRequest issueSearchRequest = new SearchWsRequest();
issueSearchRequest.setPageSize(1000);
issueSearchRequest.setResolved(false);
List<String> bugTypesList = new ArrayList<String>();
bugTypesList.add("BUG");
issueSearchRequest.setTypes(bugTypesList);
WsClient wsClient = WsClientFactories.getDefault().newClient(httpConnector);
SearchWsResponse issuesResponse = wsClient.issues().search(issueSearchRequest);
System.out.println(issuesResponse.getIssuesList());
System.out.println("DONE");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Hinweis: Ich verwende Sonarqube 5.6 mit Java 1.8
Ab jetzt habe ich die Antwort bin Iterieren und bekommen die Zählung
List<Issue> issueList = issuesResponse.getIssuesList();
int bugCount = 0;
for(Issue issue : issueList){
if(issue.getType() == RuleType.BUG){
bugCount ++;
}
}
Vielen Dank für Ihre Antwort. Ich konnte das setParam ("types", inlineMultipleParamValue (request.getTypes())) in der Suchmethode nicht finden. Vielleicht war das das Problem. – Unknown