Мне нужен пример кода Java-клиента для доступа к вопросам проекта в сонаре Qube?

Я передам ключ проекта в качестве ввода и получу список проблем в выводе.

0
user3302323 24 Апр 2017 в 16:30

2 ответа

Лучший ответ

Вы можете использовать sonarqube client lib:

    Builder builder = HttpConnector.newBuilder();

    builder.url("http://xxxx:9000/sonar/");

    builder.connectTimeoutMilliseconds(10000);

    HttpConnector httpConnector = builder.build();

    SearchWsRequest searchWsRequest = new org.sonarqube.ws.client.issue.SearchWsRequest();

    List<String> projectKeys = new ArrayList<String>(1);

    projectKeys.add("project_key");

    searchWsRequest.setProjectKeys(projectKeys);

    final WsClient wsClient = WsClientFactories.getDefault().newClient(httpConnector);

    List<Issue> issues = wsClient.issues().search(searchWsRequest).getIssuesList();

И использовать

<dependency>
  <groupId>org.sonarsource.sonarqube</groupId>
  <artifactId>sonar-ws</artifactId>
  <version>5.6</version>
</dependency>
1
Maxence Lecointe 25 Апр 2017 в 09:13

Обновлен исходный код для Sonarqube 8.2.blarghminorversion. Только небольшие изменения были необходимы, чтобы использовать прекрасный пример, предоставленный Максенс Lecointe ...

import java.util.ArrayList;
import java.util.List;

import org.sonarqube.ws.Issues.Issue;
import org.sonarqube.ws.Issues.SearchWsResponse;
import org.sonarqube.ws.client.HttpConnector;
import org.sonarqube.ws.client.HttpConnector.Builder;
import org.sonarqube.ws.client.WsClient;
import org.sonarqube.ws.client.WsClientFactories;
import org.sonarqube.ws.client.issues.SearchRequest;

public class SimpleClient {

    public static void main(String[] args) {
            Builder builder = HttpConnector.newBuilder();

            builder.url("http://xxxx:9000/");

            builder.connectTimeoutMilliseconds(10000);

            HttpConnector httpConnector = builder.build();

            SearchRequest searchWsRequest = new org.sonarqube.ws.client.issues.SearchRequest();

            List<String> componentKeys = new ArrayList<String>(1);

            componentKeys.add("project_key");

            searchWsRequest.setComponentKeys(componentKeys);

            final WsClient wsClient = WsClientFactories.getDefault().newClient(httpConnector);

            SearchWsResponse response = wsClient.issues().search(searchWsRequest);

            System.out.println("Total found: " + response.getTotal());

            List<Issue> issues = wsClient.issues().search(searchWsRequest).getIssuesList();

            for (Issue issue : issues) {
                System.out.println("===================================");
                System.out.println(issue.toString());
            }
    }

}
<dependency>
    <groupId>org.sonarsource.sonarqube</groupId>
    <artifactId>sonar-ws</artifactId>
    <version>8.2.0.32929</version>
</dependency>
1
Daniel 30 Апр 2020 в 20:43