我正在尝试从声纳生成自定义分析报告。我正在使用声纳-ws-client。我的代码是:
Sonar sonar = new Sonar(new HttpClient4Connector(new Host(url, login, password)));
Resource JunitTestCaseExample = sonar.find(ResourceQuery.createForMetrics("JunitTestCaseExample:JunitTestCaseExample", "critical_violations",
"major_violations", "minor_violations", "info_violations", "tests", "blocker_violations", "statements","coverage","uncovered_lines","lines",
"skipped_tests","test_failures", "test_errors", "test_success_density", "new_coverage","overall_coverage"));
Measure statements = JunitTestCaseExample.getMeasure("statements");
System.out.println("statements : " + statements.getMetricKey() + " === " + statements.getFormattedValue());
System.out.println(statements.getVariation1());
我能够获得大部分值,但statements.getVariation1()
始终返回null
。
有没有办法获得7天,15天和30天的变量值?
答案 0 :(得分:0)
它不是标准,但您可以从声纳Db中获取所需数据,因为它无法通过网络服务自定义声纳Qube分析报告获取。
第1步 在project_id的帮助下从快照中获取period_param 从这里你可以设法获得你在问题中提到的变异期
2) - 执行此查询,它将为您提供所有变体,之后您可以将您的逻辑选择为您想要的 从项目proj inner中选择不同的proj.name NAME_OF_PROJ,metric.name metric_name,metric.description描述,projdesc.value值,projdesc.variation_value_1,projdesc.variation_value_2,projdesc.variation_value_3,projdesc.variation_value_4,projdesc.variation_value_5,snap.created_at CREATED_DATE在snap.project_id = proj.id内部联接"上加入快照快照+"(从快照snap2中选择max(snap2.id)作为id,其中snap2.project_id在(" + projectId +")GROUP BY snap2.project_id)中作为Lookup.id = snap上的查找.id inner join project_measures projdesc on projdesc.snapshot_id = snap.id inner join metrics metric on projdesc.metric_id = metric.id其中metric.id介于' 1'和" + metric_id_Count +'
希望它对你有所帮助。 再次记得提及声纳组不是标准。