3

我正在尝试为 SonarQube 编写一个插件,该插件使用 SCM-Activity 插件提供的责备信息。问题是,在 Sonar 的数据库中,责备信息似乎要么丢失,要么加密

例如,我在 MySQL Workbench 中对 Sonar 的数据库运行了以下查询:

SELECT p.kee, m.name, pm.text_value
FROM sonar.project_measures pm
JOIN sonar.snapshots s on pm.snapshot_id = s.id
JOIN sonar.metrics m on m.id = pm.metric_id
JOIN sonar.projects p on s.project_id = p.id
WHERE s.root_project_id = 1 and m.domain = 'SCM';

以下是结果示例:

单片机查询

如您所见,SonarQube 的 SCM-Activity 插件有四个指标:

  • authors_by_line
  • revisions_by_line
  • last_commit_datetimes_by_line
  • scm.hash

所以,这是我的问题:

  1. 为什么 scm.hash 是 text_value 列中唯一具有任何值的指标,而其他指标没有?(我尝试了 project_measures 表中的其他列,它们似乎也没有任何值。)
  2. 如何从 scm.hash 指标中获取有用的解密信息?有没有可以在前端使用的 ruby​​ 方法来获取它?(我认为必须有,或者当我深入研究行时,SonarQube 还如何显示责备信息?)
  3. 如果有允许检索和解密责备信息的 Ruby 方法,它们必须位于 SonarQube 的源代码本身中,因为 SCM-Activity 插件源代码似乎没有任何 Ruby。如果我是对的,那么这些 Ruby 方法位于 SonarQube 的源代码中的什么位置?我一直找不到他们。
4

1 回答 1

3

您在“text_value”中看到 NULL 值,因为这些指标需要存储的不仅仅是一行简单的文本。因此,您必须加入表“MEASURE_DATA”以获取这些度量的值。

于 2013-10-14T12:31:50.967 回答