Jabber-нотификация в redmine

Просматривая статистику посещений, обратил внимание на то, что многих интересует словосочетание «redmine jabber». Пришла пора удовлетворить спрос. В начале «как обычно» небольшая предыстория о том, «как всё начиналось»:

Несколько лет назад мне удалось внедрить redmine на «производстве», коллеги потихоньку втягиваясь в процесс, затребовали «книгу отзывов и предложений». Одним из первых пожеланий была замена стандартных уведомлений по email на, успевшие уже войти в моду, jabber-уведомления, которые мы используем для нотификации о новых коммитах в svn. Я вооружился тем самым поисковым запросом, о котором упомянул и немедленно нашёл нужной функциональности готовый плагин. Помимо уведомлений, автор обещал нам некие таймеры, которые можно стартовать/останавливать посредством команд боту в чате, тем самым «точно» подсчитывать затраченное на решение задачи время. В теории это казалось очень нужной и удобной игрушкой, на деле же оказалось, что плагин был выпилен для старой версии redmine и с trunk-версией работать по полной программе отказался. Худо-бедно он иногда стартовал какие-то таймеры, иногда присылал какие-то уведомления, от полученных команд иногда впадал в ступор и потом долго игнорировал собеседника, в общем вёл себя непозволительно загадочно и непростительно таинственно, но скиллов для исправления обнаруженных проблем мне не хватало, а автор на открытые тикеты особо не реагировал. Мыши плакали, кололись и продолжали есть кактус до одного смешного стечения обстоятельств: я находился в другом городе, бессовестно тратил отпускное время на прогулки, осмотры достопримечательностей и дивных пейзажей, внезапно получил входящий звонок от коллег. Слёзно просили выручать – что-то мол случилось, трах-бах-тарарах …и всё, нет у нас больше redmine. Немного порассуждав вслух, источник проблемы вроде бы вычислили, каким-то временным образом проблему по телефону решили, но в тот же вечер, добравшись до интернета, плагин я без сожалений выкинул. Случилось следующее — при старте redmine, плагин коннектился к jabber-серверу, а уж затем поднимался сам редмайн, но в тот роковой момент соединение с интернетом пропало, от чего случился обширный exception и redmine умер не приходя в сознание.

***

Тогда стало понятно, что схема со злобным плагином не работает и уведомления надо рассылать внешним по отношению к redmine решением (здесь знатоки rails могли бы долго возражать, но уже поздно). Параллельно с этой проблемой существовали другие. (more…)

27.06.11  |  , ,  | 3 comments

redmine mail reader

Некоторое время назад для ведения “задачаоборота” мы c небольшой группой “единомышленников” решили использовать Redmine. Коллеги стали замечать, что волосы у нас стали шелковистыми, одежда сияет белизной, а главное – СУХО! Ну и постепенно начали вовлекаться в процесс.
Сразу же, с порога, выдвинули претензию – а почему нельзя создать задачу из письма (Слава привет!) ? Главным аргументом против магии седьмого уровня Copy-Paste было то, что им приходит множество аттачментов в письмах, которые и являются сутью поставленной задачи. Их надо сохранить на диск и лишь потом прикрепить к задаче… Неудобно, ага.

Сходу не смог найти необходимый функционал ни в самом redmine, ни в рабочих плагинах( использую redmine из trunk-а, с ним многие плагины или не работают вовсе или наполняют его “глюками” в самых неожиданных местах). Посему пришлось наваять оный плагин самостоятельно. Суть его работы такова:
В gmail-ном ящике (да в принципе любой imap-сервер подойдёт) создаются ярлыки (папки) с названиями, соответствующими идентификаторам проектов в redmine.
Rake-таск из плагина (нужно периодически запускать по cron-у) проверяет наличие писем с этими ярлыками и создаёт новые задачи, в соответствующих проектах, прикрепляя все вложения к тикету. Для защиты от всякого рода спама на всякий случай письма принимаются только от зарегистрированных пользователей.

На мой взгляд получилась довольно удобная схема – нужное письмо форвардируется на почтовый ящик, где ему фильтрами Gmail-а добавляется ярлык с названием нужного проекта.

Если вам такой функционал интересен, то вы можете скачать плагин себе. Установка ничем не отличается от других плагинов – распаковываем содержимое в vendor/plugins, копируем config/mail_reader.yml.example в RAILS_ROOT/config/mail_reader.yml, редактируем конфиг, рестартуем redmine, добавляем модуль в настройках проектов и добавляем в cron задачу rake mailreader:check

Для работы требуется gem tmail для корректного вытягивания имён файлов во вложениях. Да я знаю, что он (tmail) уже имеется в составе actionmailer, но я так и не сообразил как корректно его загрузить – буду рад, если кто-нибудь поможет правильно подключить этот класс.

Отзывы? Пожелания? Добро пожаловать в комментарии!

07.11.09  |  ,  | 10 comments

Performance Optimization WordPress Plugins by W3 EDGE