对于我的发布自动化,我创建了一个包含sonarqube当前测量值的文档生成器。在本文档中,我想报告几个版本的代码之间的差异。 我设法获得版本列表没有任何问题使用 http://nemo.sonarqube.org/api/events?resource=org.codehaus.sonar:sonar&categories=Version 我还设法使用了当前代码状态的测量 http://nemo.sonarqube.org/api/resources?resource=org.codehaus.sonar:sonar&metrics=ncloc
任何人都可以帮我了解如何获得旧版本的ncloc
,比如版本' 4.0'?
答案 0 :(得分:1)
Web服务不允许查询此信息。
答案 1 :(得分:1)
解决方案很简单,但您可以根据版本获得所需的数据。
建议的解决方案:
从API获取特定于版本的详细信息。 http://nemo.sonarqube.org/api/events?resource=org.codehaus.sonar:sonar&categories=Version&format=json
响应类似于:
[{"id":"23761","rk":"helloworld","n":"1.1","c":"Version","dt":"2017-07-19T20:28:54-0500"},
{"id":"23731","rk":"helloworld","n":"1.0","c":"Version","dt":"2017-07-18T14:51:20-0500"},
{"id":"5107","rk":"helloworld","n":"1","c":"Version","dt":"2015-12-07T11:37:44-0600"}]
“dt”值指定发布版本的时间点。
解析JSON并获取dt
值。从获得的dt
值中查找最小和最大日期值。
使用时间机器API使用API查询所需的指标 http://nemo.sonarqube.org/api/timemachine?resource=helloworld&metrics=coverage,ncloc&rfomDateTime=(min_dt_value)&toDateTime=(max_dt_value)
您将获得时间戳之间的所有指标。
将我们针对特定版本的dt
值与从上面的响应中获取的值进行比较,从而获得特定于版本的指标值。