- PVSM.RU - https://www.pvsm.ru -
Продолжаем допиливать redmine под свои нужды.
В разное время для нескольких крупных (и не только) клиентов по их желанию были установлены отдельные инстансы redmine.
В основном, они используются для личных нужд клиента: управление репозиториями кода, внутренние задачи.
Но так же в этих трекерах ставились задачи и для системных администратором, то есть для нас.
Проекты росли в своем объеме и количестве, и наступил критический момент, когда сложно стало следить сразу за несколькими трекерами. В то же время, клиенту удобно пользоваться своим трекером, а идти в наш чтобы поставить задачу по администрированию лениво, да и попросту трата лишнего времени.
Ввиду такой ситуации, решили написать силами нашего ruby разработчика kanfet [1] плагин для redmine который бы собирал задачи из всех трекеров в наш.
Под катом описана установка и работа плагина.
Установка типовая.
Клонируем плагин с github:
gir clone https://github.com/olemskoi/redmine_synchrony.git /opt/redmine/plugins/redmine_synchrony
и запускаем миграцию:
bundle exec rake redmine:plugins:migrate RAILS_ENV="production"
Перезапускаем redmine.
Далее, проводим настройку: идем по следующим пунктам меню — «Администрирование» — «Модули».
Там видим наш плагин в списке:
Выбираем «Параметры».
Жмем
Получаем список полей для заполнения:
Что есть что:
После заполнения полей изменения сохраняем.
Добавить можно сколько угодно трекеров.
Есть следующие ограничения:
Для работы нам потребуется задача в cron, которая будет инициировать обновление.
В нашем конкретном случае, задача имет такой вот вид:
*/05 * * * * redmine cd /opt/redmine && PATH=/usr/local/bin:$PATH /usr/bin/bundle exec rake -f /opt/redmine/Rakefile redmine_synchrony:issues RAILS_ENV="production" >/dev/null 2>&1
В случае, если настройки плагина неверные, данная задача будет вываливаться с ошибкой. Потому на этапе включения и отладки лучше включить вывод команды в лог-файл.
Работает плагин по следующей схеме: по cron-таску запускается синхронизация.
Наш локальный redmine проходит по API на удаленный и смотрит изменения задач в трекере, указанном в поле настроек «Трекер для синхронизации».
Изменения отслеживаются за последние сутки.
В случае создания новой задачи в удаленном redmine, она создается и в локальном с полным текстом задачи и со ссылкой на оригинальную.
При обновлении задачи на удаленном redmine на локальном создается комментарий в соответствующей задаче. В тексте комментария указывается смена статуса задачи, пользователь, обновивший ее, приоритет, если он был изменен и сам текст комментария в оригинальной задаче.
Статусы, приоритеты и пользователя пишутся текстом в комментариях по той простой причине, что значения этих параметров на локальном и удаленном redmine не совпадают.
У меня на этом все.
Буду рад советам и пожеланиям.
На основе их будем делать необходимые доработки.
Спасибо за внимание!
Автор: akhaustov
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/upravlenie-proektami/45087
Ссылки в тексте:
[1] kanfet: http://habrahabr.ru/users/kanfet/
[2] Источник: http://habrahabr.ru/post/196564/
Нажмите здесь для печати.