【问题标题】:sonarqube plugin development: widget can't access metricssonarqube 插件开发:小部件无法访问指标
【发布时间】:2015-08-12 16:13:59
【问题描述】:

我正在尝试开发一个自定义 SonarQube (4.3) 插件,该插件具有装饰器部分和一个应该显示某种项目指标摘要的小部件,即代码质量决策树。我需要它来访问其他插件已经收集并存储在数据库中的指标。

我的小部件开始时只有纯文本和类似这样的内容:

'今天是 ' 把它放在仪表板上,没问题。

只要我访问其中一个声纳红宝石功能,例如: '行数'

它在浏览器中引发错误: 尝试显示小部件“myWidget”时发生错误。请联系管理员。

分别在 sonarqube 服务器日志中我得到这个:

2015.08.11 11:58:56 ERROR rails Can not render widget myWidget: undefined method `measure' for nil:NilClass

无论我尝试了哪个内置的sonar ruby​​函数,似乎都没有参考。

我必须承认我不明白 *.rb 文件中声明的 ruby​​ 对象如何链接到引用这些对象的 ruby​​ 模板?我能找到的 Sonar 插件开发示例都不能解释它是如何工作的?非常感谢任何帮助!

干杯 胜利者

【问题讨论】:

  • 我遇到了同样的问题。你能解决这个问题,然后怎么解决?

标签: ruby-on-rails sonarqube


【解决方案1】:

您可以查看我们的sample plugin,看看您能做什么。

更准确地说,您可以查看example_widget.html.erb file。你会看到一些类似的代码:

<%= format_measure('random') -%>.

【讨论】:

  • 谢谢法布里斯!是的, 不会造成问题。然而,当我使用像 这样的东西时,我得到了我之前报告过的同样的抱怨:nil:NilClass 的未定义方法“测量”。我查看了您提到的示例小部件。我理解参数的一部分,但仍然对如何在 ruby​​ 模板中定义 ruby​​ 对象/方法的范围(例如“测量”)感到困惑?
  • 您好 Fabrice,我刚刚构建并部署了您的示例插件,我遇到了完全相同的问题,我用自己的插件观察到了这个问题。这是错误堆栈的顶部:2015.08.14 10:36:16 错误 [rails] 无法呈现小部件示例:未定义方法 measure' for nil:NilClass 2015.08.14 10:36:16 ERROR [rails] .C:/Sonar/sonarqube-4.3/web/WEB-INF/app/helpers/dashboard_helper.rb:42:in measure' 2015.08.14 10:36:16 错误 [rails] 编译模板:6 :在`_run_inline_1251540527。有什么你能想到的,我可以尝试让它发挥作用吗?真的很感谢你的帮助!!干杯,胜利者
  • 我遇到了同样的问题。谁能帮帮我?
猜你喜欢
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
相关资源
最近更新 更多