Продолжаем улучшать быт системного администратора своими силами.
Часто бывает, что список активных задач в Redmine достаточно огромен. Однако, среди них есть много тех, которые невозможно выполнить в данный момент: либо ждем ответа клиента, либо выполнить можно только в согласованную дату и подобное.
С одной стороны, такие задачи можно перевести в статус «Заморожена», например. Они перестанут захламлять список актуальных задач, с одной стороны. С другой — появляется риск про них забыть. С целью не допустить подобного и был создан плагин redmine_issue_open_date.
Клонируем плагин из репозитория в папку с плагинами:
Затем выполняем миграцию:
И добававляем задачу в крон:
Если хотим отключить выполнение задачи, выполняем команду:
В настройках плагина можно определить какой статус определяет, что задача «Заморожена», а какой «Открыта».
После установки плагина, у нас в разделе параметров при обновлении задачи если поменять статус на тот, который соответствует «Заморожена», появляется поле «Открыть заново» с возможностью выбора даты.
Все просто. В 00:01 текущего дня выполнится:
При этом, происходит выборка всех задач со статусом, соответствующим «Заморожена», дата открытия которых установлена на текущий день.
Для каждой подходящей по критерию задачи будет выставлен статус, соответствующий «Открыта».
А оповещение исполнителя или тимлида об открытой задаче у нас выполняет другой плагин, описанный в предыдущей статье.
Спасибо за внимание!
Часто бывает, что список активных задач в Redmine достаточно огромен. Однако, среди них есть много тех, которые невозможно выполнить в данный момент: либо ждем ответа клиента, либо выполнить можно только в согласованную дату и подобное.
С одной стороны, такие задачи можно перевести в статус «Заморожена», например. Они перестанут захламлять список актуальных задач, с одной стороны. С другой — появляется риск про них забыть. С целью не допустить подобного и был создан плагин redmine_issue_open_date.
Установка и настройка.
Клонируем плагин из репозитория в папку с плагинами:
git clone https://github.com/centosadmin/redmine_issue_open_date /opt/redmine/plugins
Затем выполняем миграцию:
bundle exec rake redmine:plugins:migrate
И добававляем задачу в крон:
bundle exec whenever -i redmine_issue_open_date -f plugins/redmine_issue_open_date/config/schedule.rb
Если хотим отключить выполнение задачи, выполняем команду:
bundle exec whenever -c redmine_issue_open_date -f plugins/redmine_issue_open_date/config/schedule.rb
В настройках плагина можно определить какой статус определяет, что задача «Заморожена», а какой «Открыта».
После установки плагина, у нас в разделе параметров при обновлении задачи если поменять статус на тот, который соответствует «Заморожена», появляется поле «Открыть заново» с возможностью выбора даты.
Как это работает.
Все просто. В 00:01 текущего дня выполнится:
rake issue_open_date:switch
При этом, происходит выборка всех задач со статусом, соответствующим «Заморожена», дата открытия которых установлена на текущий день.
Для каждой подходящей по критерию задачи будет выставлен статус, соответствующий «Открыта».
А оповещение исполнителя или тимлида об открытой задаче у нас выполняет другой плагин, описанный в предыдущей статье.
Спасибо за внимание!
Комментарии (5)
leotsarev
08.12.2015 18:02+2Все просто. В 00:01 текущего дня выполнится:
Зря вы это. В смысле, что не надо запускать джобы в полночь, если вы не знаете, что еще на системе будет помимо вас.
Назначьте время типа 03:44
sshz
08.12.2015 20:54Есть вариант попроще, но без плагинов, мы пользуемся — работает.
Просто ставим у задач которые нельзя выполнить сейчас дату начала (поле «Начата») нужную дату в будущем. То есть — можно выполнить только на следующей неделе — ставим дату начала задачи следующий понедельник.
После этого настраиваем все используемые списки задач таким образом, чтобы не начатые задачи не отображались в списках. В фильтрах это называется — Начата более чем 0 дней назад.
Всё, теперь задачи по которым работать ещё нельзя не будут отображаться.
Loriowar
А на основной сайт Redmine почему не выкладываете плагины?
Не описано можно ли искать по новому полю и если можно, то почему в дефолтной миграции на это поле не навешен индекс? Да и вообще, расширять таблицу issues ради такого… я бы не поставил. Угораздит Вас расшрять плагин и раздуете ещё больше и так перегруженную таблицу.
akhaustov
Выкладываем, если они достойны внимания.
Что касается расширения таблицы, я считаю, что от такого хуже не станет.
Если есть предложения как решить задачу автоматического открытия тикетов, поделитесь, пожалуйста.
Loriowar
Хуже становится, когда после десятка плагинов таблицу разрывает в 2 раза, ибо каждый по 1-2 поля туда вмерживает.
А по поводу автоматического открытия, тут всё как обычно, крон — самый базовый и топорный вариант, кто-то прибежит и delayed_job запросит или rescue_scheduler потому что «ох как нужно видеть в реалтайме что запланировано, что отработало и где там с ошибками завалилось».
Вообще такой функционал больше видится как модуль оповещений/уведомлений, а не «внезапного» переключение статуса задач, но это личное мнение.