southbridgeio / redmine_intouch

Redmine Intouch plugin sends notifications to users via Telegram and E-mail
MIT License
66 stars 16 forks source link

Ошибка при добавлении задачи через rest api #88

Closed esuslik closed 6 years ago

esuslik commented 6 years ago

После обновления плагина появилась ошибка при добавлении задачи через rest api Установледы дополнительные плагины от redmineup redmineup crm и redmine up helpdesk. Задачи добавляются командой curl После обновления такая ошибка: /helpdesk/create_ticket.xml HTTP/1.1 422 Unprocessable Entity Server: nginx/1.12.2 Date: Tue, 17 Apr 2018 04:03:32 GMT Content-Type: application/xml; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Status: 422 Unprocessable Entity Cache-Control: no-cache X-Runtime: 2.055034 X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Request-Id: ae4e49f6-43be-416d-9482-798c32fea775 X-Powered-By: Phusion Passenger 5.2.3 <?xml version="1.0" encoding="UTF-8"?>undefined method `id' for nil:NilClass

В случае если отключить в настройках проекта галочку модуль intouch то ошибка пропадает helpdesk/create_ticket.xml HTTP/1.1 201 Created
Server: nginx/1.12.2
Date: Tue, 17 Apr 2018 04:07:59 GMT
Content-Type: text/plain; charset=utf-8
Location: https://example/issues/53875
Transfer-Encoding: chunked
Connection: keep-alive
Status: 201 Created
Cache-Control: max-age=0, private, must-revalidate
ETag: W/"0eeedec56bb694967b377f4f6bcc13e2"
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Runtime: 1.973554
X-Request-Id: b0c318ec-cf17-4f6d-b7a6-cb4cdedc2341
X-Powered-By: Phusion Passenger 5.2.3
Issue 53875 created

При добавлении без ошибки запрос отдает результат - номер задачи, который и нужен для дальнейшей обработки

vladislav-yashin commented 6 years ago

А есть полный стек-трейс? Чтобы знать, на какой строчке и в каком файле вылетело undefined method 'id' for nil:NilClass

esuslik commented 6 years ago

Как снять полный стек-трейс? Есть продакшен лог: Started POST "/helpdesk/create_ticket.xml" for 192.168.99.1 at 2018-04-20 09:01:57 +0500 Processing by HelpdeskController#create_ticket as XML Parameters: {"ticket"=>{"issue"=>{"project_id"=>"helpdesk", "tracker_id"=>"3", "priority_id"=>"3", "subject"=>"test", "description"=>"description"}, "contact"=>{"email"=>"example@h.ru", "first_name"=>"Test", "phone"=>"893333333"}}} Current user: servdesk (id=22) Rendered mailer/_issue.text.erb (4.1ms) Rendered mailer/issue_add.text.erb within layouts/mailer (5.0ms) Rendered mailer/_issue.html.erb (4.2ms) Rendered mailer/issue_add.html.erb within layouts/mailer (4.8ms) Rendered mailer/_issue.text.erb (0.9ms) Rendered mailer/issue_add.text.erb within layouts/mailer (1.4ms) Rendered mailer/_issue.html.erb (1.6ms) Rendered mailer/issue_add.html.erb within layouts/mailer (2.2ms) Started PATCH "/issues/54067" for 192.168.99.1 at 2018-04-20 09:01:58 +0500

vladislav-yashin commented 6 years ago

Спасибо, уже нашёл проблемное место. В новой версии будет фикс.

esuslik commented 6 years ago

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

Rendered mailer/_issue.text.erb (3.2ms) Rendered mailer/issue_add.text.erb within layouts/mailer (4.4ms) Rendered mailer/_issue.html.erb (3.8ms) Rendered mailer/issue_add.html.erb within layouts/mailer (4.6ms) Rendered mailer/_issue.text.erb (2.6ms) Rendered mailer/issue_add.text.erb within layouts/mailer (3.4ms) Rendered mailer/_issue.html.erb (4.3ms) Rendered mailer/issue_add.html.erb within layouts/mailer (5.1ms) Completed 500 Internal Server Error in 1556ms (ActiveRecord: 33.6ms)

NoMethodError (undefined method id' for nil:NilClass): plugins/redmine_intouch/lib/intouch/live/message/private.rb:37:insend_email_messages' plugins/redmine_intouch/lib/intouch/live/message/private.rb:15:in send' plugins/redmine_intouch/lib/intouch/live/handler/new_issue.rb:27:insend_private_messages' plugins/redmine_intouch/lib/intouch/live/handler/new_issue.rb:11:in call' plugins/redmine_intouch/lib/intouch/patches/issue_patch.rb:123:inhandle_new_issue' app/controllers/issues_controller.rb:129:in create' lib/redmine/sudo_mode.rb:63:insudo_mode'

vladislav-yashin commented 6 years ago

Исправили в 1.2.1

esuslik commented 6 years ago

после обновления до последней версии, ошибка возобновилась, с теми же симптомами. При добавлении задачи через api и при создании задачи через веб интерфейс

vladislav-yashin commented 6 years ago

Можно увидеть актуальный стектрейс? Просто в текущей версии файла lib/intouch/live/message/private.rb уже нет.

esuslik commented 6 years ago

Rendered mailer/_issue.text.erb (3.2ms) Rendered mailer/issue_add.text.erb within layouts/mailer (4.0ms) Rendered mailer/_issue.html.erb (3.5ms) Rendered mailer/issue_add.html.erb within layouts/mailer (4.2ms) Rendered mailer/_issue.text.erb (1.2ms) Rendered mailer/issue_add.text.erb within layouts/mailer (1.8ms) Rendered mailer/_issue.html.erb (2.1ms) Rendered mailer/issue_add.html.erb within layouts/mailer (2.6ms) Completed 500 Internal Server Error in 1360ms (ActiveRecord: 42.9ms)

NoMethodError (private method select' called for nil:NilClass): plugins/redmine_intouch/lib/intouch/issue_update.rb:43:incustomer' plugins/redmine_intouch/lib/intouch/issue_update.rb:12:in live_recipients' plugins/redmine_intouch/lib/intouch/protocols/email.rb:4:inhandle_update' plugins/redmine_intouch/lib/intouch/live/handler/new_issue.rb:13:in block in call' plugins/redmine_intouch/lib/intouch/live/handler/new_issue.rb:11:ineach' plugins/redmine_intouch/lib/intouch/live/handler/new_issue.rb:11:in call' plugins/redmine_intouch/lib/intouch/patches/issue_patch.rb:123:inhandle_new_issue' app/controllers/issues_controller.rb:129:in create' plugins/luxury_buttons/lib/luxury_buttons/patches/controllers/issues_controller_patch.rb:55:increate_with_luxury_buttons' lib/redmine/sudo_mode.rb:63:in `sudo_mode'

vladislav-yashin commented 6 years ago

Смержил в мастер исправление

esuslik commented 6 years ago

Обновился, вроде ошибок больше нет