Advanced Workflow
Описание
Плагин для гибкой настройки и автоматизации бизнес-процессов. Он позволяет настраивать и автоматически выполнять сложные сценарии, выходящие за рамки стандартных workflow Redmine. А гибкая система "пользовательских правил" позволяет установить определенные ограничения.
Ключевые возможности
- Новый формат настраиваемых полей: "Дата и Время"
- Пользовательские правила
- Автоматические действия
Совместимость
Redmine: 5.0 - 6.1
Web Browsers: Chrome, Firefox, Safari, Edge
Databases: MySQL 5.7, MySQL 8.0, PostgreSQL 14-16, SQLite
Plugins: redmine_kanban, redmine_advanced_checklists, advanced_charts, appearance_custom, module_manager, periodic_reminder, user_group_editor, queries_perfect, selectbox_autocompiler, cost_calculator.
Установка и Обновление
- Удалите старую версию плагина из Redmine, если она существует.
cd redmine/plugins rm -r advanced_workflow - Скопируйте новую папку плагина advanced_workflow в redmine/plugins/
- Запустите миграции в корневой папке Redmine
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflow - Остановите и запустите redmine. (В некоторых установках Redmine (например, в Docker) важно именно остановить и запустить сервер, а не перезапустить.)
Удаление
- Выполняйте команду удаления в корневой папке Redmine
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflow VERSION=0
- Удалите папку плагина advanced_workflow из redmine/plugins/
rm -r advanced_workflow
- Остановите и запустите redmine.
Настройка
- Настройте роли пользователей в Администрирование -> Роли и права доступа.
- Включите модуль «Advanced Workflows» для проектов в настройках каждого проекта.
- Проверьте и измените другие настройки плагина в Администрирование -> Модули -> Advanced Workflows.
Администрирование
Раздел «Роли и права доступа»
- Управление правилами на уровне проекта - доступ к редактированию правил и действий в проекте.
Раздел «Настраиваемые поля»
Плагин Advanced Workflows добавляет новый формат настраиваемых полей "Дата и Время"


"Дата и Время" можно использовать как фильтр (условие)

Доступны опции:
- Следующий час - в фильтр попадут те задачи, значение поля "Дата и Время" которых будет в рамках следующего часа от текущего UTC.

Раздел «Модули»
В Администрирование -> Модули -> Advanced Workflows можно настроить:
- Выполнять от имени пользователя - Возможность выбора админа от имени которого будут выполняться действия по расписанию
- Максимальное количество задач при выполнении действий по расписанию

Раздел «Пользовательские правила»
Пользовательские правила позволяют установить ограничения на постановку задач пользователям в определяемых условиях.
В Администрирование -> Пользовательские правила можно создать и настроить правила:

Создание правил
При создании указываем имя и активность:

Редактирование правил
После создания правила появляется возможность редактирования условий и ограничений.

Возможные условия:
- Проект
- Трекер
- Версия
- Автор
- Текущий пользователь
- Группа назначенного
- Группа автора
- Роль назначенного
- Роль текущего пользователя
- Статус задачи
- Трекер родительской задачи
- Версия родительской задачи
- Настраиваемые поля "Задачи" с типами "Список", "Текст", "С плавающей точкой", "Целый", "Дата", "Дата и Время".
- Настраиваемые поля "Проекты" с типами "Список", "Текст", "С плавающей точкой", "Целый", "Дата".


Возможные ограничения:
- Назначена
- Группа назначенного
- Роль назначенного
- Срок завершения
- Трекер
- Версия

Раздел «Автоматические действия»
Автоматические действия позволяют выполнять выбранные действие при сохранении задачи или по расписанию в рамках указанных условий.
В Администрирование -> Автоматические действия можно создать и настроить действия:

Создание действий
При создании указываем имя, способ выполнения и активность. Действия могут выполняться двумя разными способами:
- При сохранении - действия будут выполняться мгновенно при создании или редактировании задачи.
- По расписанию (cron) - правила будут выполняться периодически согласно расписанию cron.

Редактирование действий
После создания действия появляется возможность редактирования условий и действий.

Возможные условия:
- Стандартные фильтры задач
- Настраиваемые фильтры задач
Возможные действия:
- Назначена
- Запретить сохранение
- Отправить письмо
- Статус
- Трекер
- Версия
- Версия открытых подзадач
- Наблюдатели
- Вебхук (GET)
- Вебхук Mattermost
- Вебхук Telegram
- Чек-лист (если установлен плагин :redmine_advanced_checklists)


Для действий "Отправить письмо", "Вебхук (GET)", "Вебхук Mattermost" и "Вебхук Telegram" доступны переменные действия.

Использование
Включение правил и действий
После создания правил и действий, нужно по отдельности включить их в настройках проектов.
Для этого переходим в:
Проект -> Настройки -> Пользовательские правила, включаем те правила, которые нужны в этом проекте.

Проект -> Настройки -> Автоматические действия, включаем те действия, которые нужны в этом проекте.

Пользовательские правила
Доступные ограничения, которые будут выполняться при выполненных условиях:
Назначена:
Задача может быть назначена только на выбранных пользователей.

Группа назначенного:
Задача может быть назначена только на тех пользователей, которые входят в выбранные группы.

Роль назначенного:
Задача может быть назначена только на пользователей с выбранной ролью для проекта.

Срок завершения:
Срок завершения задач может быть указан только в пределах заданного диапазона даты.

Трекер:
У задач могут быть только выбранные трекеры.

Версия:
У задач могут быть только выбранные версии.

Автоматические действия
Способ выполнения «По расписанию»
Действия будут выполняться периодически согласно расписанию cron.
Чтобы автоматическое действие работало корректно, необходимо добавить новую команду в crontab сервера, который выполняет команду bundle exec rake advanced_workflows:run_actions
Пример команды:
*/5 * * * * cd /absolute/path/to/redmine && redmine bundle exec rake advanced_workflows:run_actions >> /absolute/path/to/redmine/logs/cron_advanced_workflows.log
Добавьте эту команду в cron от имени того пользователя, под которым запускается Redmine, заменив /absolute/path/to/redmine на абсолютный путь к вашей папке установки Redmine.
Cron команда будет запускаться каждые 5 минут */5 * * * *
Все стандартные сообщения будут дописываться в файл .../logs/cron_advanced_workflows.log
Доступные действия, которые будут выполняться при выполненных условиях:
Вебхук (GET):
Отправляет GET-запрос на указанный URL. Используется для интеграции с внешними системами, например для синхронизации с Jira.
Поддерживает все переменные полей задачи.

Вебхук Mattermost:
Отправляет сообщение в Mattermost-канал.
- URL: URL входящего вебхука Mattermost.
- Данные POST: сообщение, которое должно отправиться.
Поддерживает все переменные полей задачи. 
Вебхук Telegram:
Отправляет сообщение в групповой чат Telegram при помощи бота.
- Токен: токен телеграм бота
- ID чата: ID чата, в котором добавлен этот бот
- Данные POST: сообщение, которое должно отправиться
Поддерживает все переменные полей задачи. 
Отправить письмо:
Отправляет письмо на почту указанным пользователям или пользователям в группах.
Поддерживает все переменные полей задачи.

Версия:
Автоматически изменяет версию задачи.
- Заменить на версию текущей задачи - Заменить версию задачи на текущую (актуальную) версию проекта.

Версия открытых подзадач:
- Изменить на - Меняет версию всех открытых подзадач на указанную.
- Установить равной версии задачи - Меняет версию всех открытых подзадач на версию задачи.

Запретить сохранение:
Запрещает создание/редактирование задачи. 
Наблюдатели:
К задаче добавляет указанных наблюдателей. 
Статус:
Меняет статус задачи на указанный. 
Трекер:
Меняет трекер задачи на указанный. 
Чек-лист:
Доступно, если установлен плагин :redmine_advanced_checklists.
Автоматически создает чек-лист из шаблонов при выполнении условий.
Используйте заранее подготовленные шаблоны. 
В случае возникновения проблем или вопросов напишите нам письмо [email protected]