Redmine: проверка почты и создание задач. Ответ на задачи по почте
Если вы хотите использовать Redmine, как Help Desk, никак не обойтись без постановок задач в систему по почте. Часто, такой функционал нужен и в обычной работе, для экономии времени: ответ на тикет не выходя из почтового редактора сильно ускоряет работу, если у вас множество задач.
Создатели Redmine позаботились об этом, и снабдили его функцией проверки почтового ящика, и заведения тикета на каждое письмо. О настройке такого функционала этот пост.
Я уже писал о установки системы Redmine на облачных серверах популярного хостера
К сожалению, отправку и получение почты автоматически DigitalOcean вам не настроит. О настройке отправки уведомлений о создании и редактировании тикетов я писал в вышеупомянутой статье. А сейчас расскажу о настройке получения писем.
По традиции, заведенной с прошлого поста, для примера будем использовать Яндекс.Почту. Сам процесс настройки довольно просто, если знать, что именно нужно делать. Но т.к. в интернете мало русскоязычных статей на эту тему, вот моя версия.
Инициировать проверку почтового ящика можно следующей командой:
1 |
rake -f /home/redmine/redmine/Rakefile --silent redmine:email:receive_imap RAILS_ENV="production" host=imap.yandex.ru ssl=YES username=NAME@yandex.ru password=PASSWORD project=PROJECT no_permission_check=1 unknown_user=accept port=993 |
где соответственно необходимо заменить
- NAME — логин в Яндекс почте;
- PASSWORD — пароль в Яндекс почте;
- PROJECT — id проекта в Redmine,
на собственные параметры.
Заменив необходимые параметры запускаем скрипт в командной строке. Если вы не увидили ошибок, значит проверка почты прошла успешно. Идем в веб-интерфейс Redmine и смотрим на последние созданные тикеты — они должны соответствовать письмам, которые были в проверяемом почтовом ящике.
Автозапуск скрипта
Теперь этот скрипт нужно установить в cron на автоматическое выполнение. Для этого открываем /etc/crontab:
1 |
# nano /etc/crontab |
и вставляем последней строкой:
1 |
*/5 * * * * root rake -f /home/redmine/redmine/Rakefile --silent redmine:email:receive_imap RAILS_ENV="production" host=imap.yandex.ru ssl=YES username=NAME@yandex.ru password=PASSWORD project=PROJECT no_permission_check=1 unknown_user=accept port=993 |
после сохранения ваша почта будет проверятся каждые 5 минут. При необходимости, можно установить более короткое время.
Альтернативный вариант автозапуска
Или, что бы crontab был почище, создать скрипт импорта почты, сохранив его, например, в /root/redminemail.sh
1 2 3 |
#!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin rake -f /home/redmine/redmine/Rakefile --silent redmine:email:receive_imap RAILS_ENV="production" host=imap.yandex.ru ssl=YES username=imstp@yandex.ru password=tri07nta project=im_stolplit no_permission_check=1 unknown_user=accept port=993 |
теперь назначим права на запуск скрипта:
1 |
chmod +x /root/redminemail.sh |
После этого прописать в /etc/crontab, или в личним кронтабе # crontab -e, следующую строку:
1 |
*/5 * * * * /bin/bash /root/redminemail.sh |
Если возникают ошибки, для быстроты отладки можно их фиксировать и сохранять в логе. Тогда строка получится такая:
1 |
*/5 * * * * /bin/bash /root/redminemail.sh 2>/var/log/cron-out.log |
Сохраняем. Если использовали ctontab -e, проверяем записанные в крон задачи: crontab -l
Теперь можно перейти к тесту и написать на настраиваемый ящик пару писем.
Удачи!
Поделиться "Redmine: проверка почты и создание задач. Ответ на задачи по почте"