На главную Напишите нам Карта сайта in English
Главная Наш блог Ирина Лагерь Прием задач в Redmine по email с использованием POP3
Прием задач в Redmine по email с использованием POP3
Ирина Лагерь
23 июля 2010 года

Существует множество вариантов взаимодействия между разработчиками и пользователями программных продуктов. Чаще всего информация об ошибках автоматически уходит разработчикам в виде письма, а просьбы о различных улучшениях пользователи медленно передают через руководителей.

Если при разработке используется система управления задачами (а мне сложно представить случай, когда без такой системы можно обойтись), удобно все задачи хранить именно в этой системе. К тому же пропадает необходимость копирования сообщений.

В Redmine, который мы используем сейчас для большинства проектов, есть такая функция, как прием задач по email (Receiving emails). Настраивается прием сообщений достаточно просто, но не тривиально, т.к. в интерфейсной части Redmine эта функция никак не отражена. Ниже приведен примерный алгоритм настройки приема задач как сообщений email по протоколу POP3.

1. Проверить файлы redmine\lib\redmine\pop3.rb и redmine\lib\tasks\email.rake

Итак, для начала нужно определить какая версия Redmine используется. Для этого достаточно посмотреть описание в файле redmine\doc\CHANGELOG (про Changelog в официальной документации). Верхняя строчка и будет содержать текущую версию. Если это версия 0.8.X. или меньше, то в ней еще нет поддержки протокола POP3.

Вообще, за поддержку этого протокола и прием сообщений отвечают всего два файла: redmine\lib\redmine\pop3.rb и redmine\lib\tasks\email.rake.

Если файла pop3.rb не оказалось, значит придется или обновить Redmine до последней версии или заменить некоторые файлы. В нашем случае обновление неприемлемо из-за отсутствия обновлений некоторых важных плагинов. Файл pop3.rb можно взять прямо из репозитория Redmine (например, из текущей ветки): http://redmine.rubyforge.org/svn/trunk/lib/redmine/pop3.rb.

Далее нужно проверить включена ли поддержка приема сообщений по pop3 в email.rake – файл, содержащий форматы запуска задач приема сообщений. Если простым текстовым поиском упоминаний pop3 не нашлось, значит и этот файл нужно взять из репозитория: http://redmine.rubyforge.org/svn/trunk/lib/tasks/email.rake. Старый файл на всякий случай нужно переместить или переименовать, а на его место скопировать файл из репозитория.

После этого Redmine нужно остановить и запустить снова. Если Вы используете сборку Bitnami, то для этого есть bat файл, запускаемый и из меню Пуск.

2. Создать пользователя, от имени которого будут создаваться задачи из email.

Принимаемые сообщения в Redmine ассоциируется с неким пользователем по исходящему почтовому ящику. Предположим, что сообщения отправляются от имени почтового ящика RedmineEmail@myhost.com. В Redmine должен существовать пользователь с таким почтовым ящиком, например Feedback или FatalError. Все задачи, создаваемые по входящим сообщениям, будут созданы от имени этого пользователя.

Если нужно, что бы каждый пользователь мог создавать задачи по email от свого имени, то все эти пользователи должны существовать в Redmine и иметь соответствующие права в проекте.

3. Установить разрешение в Redmine для приема входящих сообщений

Нужно зайти в Redmine как администратор и в общих настройках поставить галочку для разрешения приема входящих сообщений (см. рис.1).

Redmine settings

Рис. 1. – Настройка приема входящих сообщений.

4. Создать скрипт для запуска задачи разбора почты

Ниже приведен пример скрипта (bat-файл). Предполагается, что параметры доступа к ящику входящих сообщений Host = pop3.myhost.com, Username = IncomeRedmineEmail, Password = IncomeRedmineEmailPassword, а также существует проект ProjectName и вид задач Feedback; Redmine_Path – путь к Redmine.

REM Setting path

SET Redmine_Path = c:\Program files\BitNami Redmine Srack\apps\redmine\

REM Setting email

SET Host = pop3. myhost.com
SET Username = IncomeRedmineEmail
SET Password = IncomeRedmineEmailPassword
SET Project = ProjectName
SET Tracker = Feedback

REM Getting emails from server
Rake –f “%REDMINE_PATH%rakefile” redmine:email:receive_pop3 RAILS_ENV=”producrion” host=%Host% username=%Username% password=%Password% project=%Project% tracker=%Tracker%

Подробнее формат команды rake task (redmine:email:receive_pop3) см. Receiving emails

5. Создать расписание для запуска задачи забора почты.

Самый простой способ в Windows задать расписание для запуска bat-файла – Task Scheduler

После этого, сообщения, приходящие на адрес IncomeRedmineEmail@ myhost.com с ящика RedmineEmail@myhost.com (пользователь с таким ящиком зарегистрирован в Redmine и имеет достаточные права) будут добавляться в Redmine в проект ProjectName, треккер Feedback по заданному расписанию.

Теги: Redmine | POP3 | эл. почта

Имя: 

  Текст на картинке слева: