Плагин оповещения по SMS о критичных задачах для Redmine

от автора

В нашей компании возникла необходимость оповещения по SMS о задачах, поставленных в трекере Redmine, с приоритетом «Авария!». Очень удобно получать такие оповещения, когда требуется мгновенная реакция.

Совместно с командой разработчиков из secoint.ru мы разработали плагин redmine_status_notifier, о котором я и расскажу под катом.

Как работает плагин

Если в новой или уже существующей задаче приоритет становится к примеру, Авария! или Ахтунг!, запускается скрипт, который отправляет через sms-шлюз оповещение на заданные мобильные номера. При закрытии задачи так же отправляются оповещения, что очень удобно для сохранения нервной системы ответственных за проект.

Как установить и настроить

Плагин проверен на последних стабильных версиях Redmine, к примеру, 2.1.4.
Загружаем плагин в папку redmine/plugins:

cd redmine/plugins && git clone https://github.com/olemskoi/redmine_status_notifier.git 

Редактируем параметры «critical_priority» (список приоритетов, при которых будут отправляться оповещения) и «script» (путь к скрипту, который будет отправлять оповещения) в файле redmine_status_notifier/init.rb.

Создаем скрипт примерно следующего содержания:

#!/bin/sh  $1 new / done $2 номер задачи $3 идентификатор проекта $4 тема задачи  # скрипт получает следующие параметры от плагина: # событие: new / done ACTION="$1" # номер задачи ISSUE_ID="$2" # идентификатор проекта PROJECT="$3" # тема задачи SUBJECT="$4"  # в качестве sms-шлюза мы используем сервис smsc.ru SMSC_LOGIN="mylogin" SMSC_PASSWORD="mypassword"  # номера для оповещения, указанные через запятую SMSC_NOTIFYTELS="89167777777,89151111111"  case "$ACTION" in     active)         # если задача новая или открыта         STATUS="new"         ;;     done)         # если задачу закрыли         STATUS="done"         ;;     *)         echo "please define action"         exit 1         ;; esac  # шаблон sms-сообщения. в данном случае выглядит следующим образом: "new myproject #111: Сервер недоступен" SMSC_MESSAGE="$STATUS $PROJECT #$ISSUE_ID: $SUBJECT"  # используя API smsc, отправляем утилитой curl запрос на отправку сообщений LC_ALL=ru_RU.UTF-8 /usr/bin/curl --silent --show-error "https://smsc.ru/sys/send.php?charset=utf-8&login=$SMSC_LOGIN&psw=$SMSC_PASSWORD&phones=$SMSC_NOTIFYTELS&mes=$SMSC_MESSAGE" > /dev/null 2>&1 

Перезапускаем Redmine.
Для проектов, в которых нужны оповещения, в настройках включаем модуль «Отправка уведомлений об авариях»
Включаем отправку уведомлений в настройках проекта

Вот и все, теперь вы будете быстро узнавать о срочных задачах.

ссылка на оригинал статьи http://habrahabr.ru/company/centosadmin/blog/160457/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *