gpt4 book ai didi

java - Sonar WS : How to get the total unresolved bugs count using Sonar Webservice

转载 作者:搜寻专家 更新时间:2023-11-01 03:18:45 28 4
gpt4 key购买 nike

我正在尝试使用 sonar-ws-5.6.jar 获取特定项目中 Unresolved 错误和漏洞的总数。

我试图将 type 作为 BUG 传递给搜索查询。但我仍然得到所有 Unresolved 问题。它不采用参数类型。

如何使用Webservice获取准确的bug和漏洞数量?

这是我连接 Sonar 并获取数据的代码。

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();
}
}
}

注意:我使用的是 sonarqube 5.6 和 Java 1.8

截至目前,我正在迭代响应并获取计数

List<Issue> issueList = issuesResponse.getIssuesList();
int bugCount = 0;
for(Issue issue : issueList){
if(issue.getType() == RuleType.BUG){
bugCount ++;
}
}

最佳答案

好吧,你发现了一个错误!我使用了您的代码,发现 types 参数没有从 WSClient 正确传递到实际的 HTTP 查询。

非常感谢您分享您的问题,SONAR-7871打开以解决它。

关于java - Sonar WS : How to get the total unresolved bugs count using Sonar Webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38196989/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com