2013-10-11 26 views
3

我正在嘗試爲SonarQube編寫一個插件,該插件使用SCM-Activity插件提供的信息。問題是,在Sonar的數據庫中,的責任信息似乎是失蹤加密從SonarQube和SCM-Activity插件獲取Decrypted Blame信息

例如,我跑了反對聲納在MySQL工作臺數據庫以下查詢:

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'; 

下面是結果的樣本:

SCM Query

正如你可以看到,有四個與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。如果我是對的,那麼在SonarQube的源代碼中,這些Ruby方法位於?我一直無法找到它們。

回答

3

您可以在「text_value」中看到NULL值,因爲這些度量標準需要的不僅僅是一行簡單的文本。所以你必須加入「MEASURE_DATA」表來獲得這些度量值。

+0

Fabrice,謝謝!這正是我正在尋找的失蹤拼圖。你真棒。 –

+0

我不能看到這張表的聲納DB。有人可以看看下面的問題http://stackoverflow.com/questions/39010513/sonarqube-line-based-scm-blame-information-where-its-stored – Priyang