什么是从Sonarqube 5.2中的Project_Measures中检索Measure_Data的最佳方法

时间:2015-07-07 08:24:13

标签: sonarqube

目前我正在将SonarQube 4.5.1的内部SonarQube插件移植到SonarQube 5.2,因为我们依赖于尚未发布的功能(use any Guava version in plugins)。

现在,我很难从SQL表project_measures获取自定义度量的数据。在之前的版本中,我使用了课程DatabaseSessionMeasureModel,但这些课程不再可用(请参阅Github repository中的提交29ae9b385a7bf720ae89637582c862df43b7fd0d183b104dadd5b350d4d00a1ef2336094755e5f4f )。

您能告诉我现在获取自定义度量数据的最佳方法吗?也许是网络服务?

最好的问候

Schrieveslaach

更新

我尝试使用org.sonar.db.DbSessionorg.sonar.db.measure.MeasureDao但是当我安装插件并启动SonarQube时,我得到ClassNotFoundException,因为服务器没有加载这些类。

1 个答案:

答案 0 :(得分:0)

首先,感谢您测试正在开发的5.2版本。请注意,它远非稳定,因此它不是生产就绪的。

有几个(好的)原因,为什么不再可能使用这些类:

  • 始终建议不要将数据库视为API,因此插件不应直接通过DAO加载数据。自5.2以来强制执行此约束。插件不再能访问核心类。

  • 最烦人的约束(因此投票最多的JIRA票证)是将代码分析器连接到数据库(读取和写入)。经过几个月(几年?)的发展,这种联系终于被取消了。这是一个很大的变化。它将解锁许多新功能,例如Github的插件(http://docs.sonarqube.org/display/PLUG/GitHub+Plugin)。

话虽这么说,提取数据的唯一方法是使用Web服务。在5.2中实现了大部分在先前版本中缺少的WS。例如,api / custom_measures可能对您有用。