Оповещения (расширенная версия) не работают в sonarqube 4.5.*

Мне нужна помощь в исследовании и исправлении виджета Оповещения (расширенная версия) в 4.5.*. После обновления до 4.5.1 перестал рендериться. Обновление до 4.5.6 не помогло.

На приборной панели отображается "Произошла ошибка при попытке отобразить виджет "alt_alerts". Обратитесь к администратору".

Даже если я создал отдельный пустой Quality Gate для проекта, он показывает ту же ошибку.

В сонар.логе:

2015.11.26 17:39:48 ERROR web[rails]  Can not render widget alt_alerts: NilClass can't be coerced into Fixnum
2015.11.26 17:39:48 ERROR web[rails]    org/jruby/RubyFixnum.java:432:in `-'
2015.11.26 17:39:48 ERROR web[rails]    compiled-template:48:in `_run_inline_235596400_locals_dashboard_configuration_widget_widget_properties'
2015.11.26 17:39:48 ERROR web[rails]    org/jruby/RubyArray.java:1613:in `each'
2015.11.26 17:39:48 ERROR web[rails]    compiled-template:34:in `_run_inline_235596400_locals_dashboard_configuration_widget_widget_properties'
2015.11.26 17:39:48 ERROR web[rails]    org/jruby/RubyKernel.java:2227:in `send'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable.rb:34:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:306:in `with_template'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable.rb:30:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:269:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/app/helpers/dashboard_helper.rb:162:in `widget_body'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/app/views/dashboard/_widget.html.erb:3:in `_run_erb_app47views47dashboard47_widget46html46erb_locals_object_widget'
2015.11.26 17:39:48 ERROR web[rails]    org/jruby/RubyKernel.java:2227:in `send'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable.rb:34:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:306:in `with_template'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable.rb:30:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable_partial.rb:20:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/benchmarking.rb:30:in `benchmark'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable_partial.rb:19:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/template.rb:205:in `render_template'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable_partial.rb:44:in `render_partial'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/partials.rb:184:in `render_partial'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:267:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/app/views/dashboard/index.html.erb:19:in `_run_erb_app47views47dashboard47index46html46erb'
2015.11.26 17:39:48 ERROR web[rails]    org/jruby/RubyArray.java:1613:in `each'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/app/views/dashboard/index.html.erb:15:in `_run_erb_app47views47dashboard47index46html46erb'
2015.11.26 17:39:48 ERROR web[rails]    org/jruby/RubyRange.java:427:in `each'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/app/views/dashboard/index.html.erb:9:in `_run_erb_app47views47dashboard47index46html46erb'
2015.11.26 17:39:48 ERROR web[rails]    org/jruby/RubyKernel.java:2227:in `send'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable.rb:34:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:306:in `with_template'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable.rb:30:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/template.rb:205:in `render_template'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:265:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:348:in `_render_with_layout'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:346:in `_render_with_layout'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:262:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb:1252:in `render_for_file'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb:936:in `render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/activesupport-2.3.15/lib/active_support/core_ext/benchmark.rb:17:in `ms'
2015.11.26 17:39:48 ERROR web[rails]    jar:file:/usr/local/sonarqube-4.5.6/lib/server/jruby-complete-1.7.9.jar!/META-INF/jruby.home/lib/ruby/1.8/benchmark.rb:308:in `realtime'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/activesupport-2.3.15/lib/active_support/core_ext/benchmark.rb:17:in `ms'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb:1328:in `default_render'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb:1334:in `perform_action'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/filters.rb:617:in `call_filters'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/filters.rb:610:in `perform_action_with_filters'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/activesupport-2.3.15/lib/active_support/core_ext/benchmark.rb:17:in `ms'
2015.11.26 17:39:48 ERROR web[rails]    jar:file:/usr/local/sonarqube-4.5.6/lib/server/jruby-complete-1.7.9.jar!/META-INF/jruby.home/lib/ruby/1.8/benchmark.rb:308:in `realtime'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/activesupport-2.3.15/lib/active_support/core_ext/benchmark.rb:17:in `ms'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/rescue.rb:160:in `perform_action_with_rescue'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/flash.rb:151:in `perform_action_with_flash'
2015.11.26 17:39:48 ERROR web[rails]    org/jruby/RubyKernel.java:2223:in `send'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb:532:in `process'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/filters.rb:606:in `process_with_filters'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb:391:in `process'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb:386:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/routing/route_set.rb:450:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/dispatcher.rb:87:in `dispatch'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/dispatcher.rb:85:in `dispatch'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/dispatcher.rb:121:in `_call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/dispatcher.rb:130:in `build_middleware_stack'
2015.11.26 17:39:48 ERROR web[rails]    org/jruby/RubyProc.java:290:in `call'
2015.11.26 17:39:48 ERROR web[rails]    org/jruby/RubyProc.java:224:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/activerecord-2.3.15/lib/active_record/query_cache.rb:29:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/activerecord-2.3.15/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/activerecord-2.3.15/lib/active_record/query_cache.rb:9:in `cache'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/activerecord-2.3.15/lib/active_record/query_cache.rb:28:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/activerecord-2.3.15/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/config/environment.rb:66:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/string_coercion.rb:25:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/rack-1.1.6/lib/rack/head.rb:9:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/rack-1.1.6/lib/rack/methodoverride.rb:24:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/params_parser.rb:15:in `call'
2015.11.26 17:39:48 ERROR web[rails]    file:/usr/local/sonarqube-4.5.6/lib/server/jruby-rack-1.1.13.2.jar!/jruby/rack/session_store.rb:70:in `context'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/rack-1.1.6/lib/rack/session/abstract/id.rb:58:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/failsafe.rb:26:in `call'
2015.11.26 17:39:48 ERROR web[rails]    /usr/local/sonarqube-4.5.6/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/dispatcher.rb:106:in `call'
2015.11.26 17:39:48 ERROR web[rails]    file:/usr/local/sonarqube-4.5.6/lib/server/jruby-rack-1.1.13.2.jar!/rack/adapter/rails.rb:34:in `serve_rails'
2015.11.26 17:39:48 ERROR web[rails]    file:/usr/local/sonarqube-4.5.6/lib/server/jruby-rack-1.1.13.2.jar!/rack/adapter/rails.rb:39:in `call'
2015.11.26 17:39:48 ERROR web[rails]    file:/usr/local/sonarqube-4.5.6/lib/server/jruby-rack-1.1.13.2.jar!/rack/handler/servlet.rb:22:in `call'

person kingoleg    schedule 26.11.2015    source источник
comment
После создания нового порога качества и связывания его с вашим проектом вы повторно проводили анализ? Если нет, вы должны сделать это.   -  person Fabrice - SonarSource Team    schedule 27.11.2015
comment
Да, я снова бегу. Нет аффекта.   -  person kingoleg    schedule 28.11.2015
comment
Вы уверены, что пустые ворота качества связаны с вашим проектом? Вы должны увидеть его имя в виджете «Описание» вместе с профилями качества, которые использовались для анализа.   -  person Fabrice - SonarSource Team    schedule 30.11.2015
comment
Теперь понятно, что Оповещения не работают, если связанный с ними Quality Gate состоит из Coverage на новом условии кода со значением Δ более 30 дней меньше 0,80.   -  person kingoleg    schedule 01.12.2015
comment
Вы имеете в виду ворота качества, которые находятся в том же состоянии, что и первые на этой странице: nemo.sonarqube. org/quality_gates/show/4 ? Если да, то проблема на вашей стороне. Вы установили плагин SCM Activity? Покрытие нового кода требует, чтобы информация SCM была доступна для вашего кода.   -  person Fabrice - SonarSource Team    schedule 01.12.2015
comment
В яблочко. У меня установлен плагин SCM Activity Plugin версии 1.8. Я вижу охват нового кода на приборной панели. Я вижу следующие строки в журналах mvn sonar:sonar: Collection SCM Журнал изменений за последние 30 дней. Я вижу информацию о коммитере, когда вижу класс java и нажимаю кнопку SCM (например, docs.sonarqube.org/display/SONARQUBE45/SCM+Information+tab) Но когда я пытаюсь включить покрытие нового кода в Quality Gate - это не работает   -  person kingoleg    schedule 02.12.2015
comment
Хорошо, я еще раз внимательно прочитал ваши логи, и оказалось, что проблема в виджете, предоставляемом плагином Widget Lab (а не самим SonarQube). Какую версию плагина вы используете?   -  person Fabrice - SonarSource Team    schedule 02.12.2015
comment
Widget Lab [widgetlab] 1.6 Как вы думаете, я могу просто удалить этот плагин, чтобы он заработал?   -  person kingoleg    schedule 02.12.2015
comment
Да, я разместил свой ответ ниже.   -  person Fabrice - SonarSource Team    schedule 02.12.2015


Ответы (1)


Похоже, в используемом вами виджете (из плагина Widget Lab) есть ошибка.

Вы можете удалить этот виджет и использовать стандартный виджет «Quality Gate», поставляемый SonarQube «из коробки», это решит вашу проблему.

person Fabrice - SonarSource Team    schedule 02.12.2015
comment
Хорошо, я удалил плагин Widget Lab, перезапустил сонар. И я не вижу другого виджета предупреждений в конфигурации панели инструментов :-/ Он удален в версии 4.5.*? - person kingoleg; 03.12.2015
comment
Ах хорошо. Это виджет Quality Gate. - person kingoleg; 03.12.2015