Advanced Workflows
Описание
Плагин для гибкой настройки и автоматизации бизнес-процессов. Он позволяет настраивать и автоматически выполнять сложные сценарии, выходящие за рамки стандартных workflow Redmine. А гибкая система "пользовательских правил" позволяет установить определенные ограничения.
Ключевые возможности
- Новый формат настраиваемых полей: "Дата и Время"
- Пользовательские правила
- Автоматические действия
Совместимость
Redmine: 5.0 - 6.0
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_workflows -
Скопируйте новую папку плагина advanced_workflows в redmine/plugins/
-
Запустите миграции в корневой папке Redmine
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows -
Остановите и запустите redmine. (В некоторых установках Redmine (например, в Docker) важно именно остановить и запустить сервер, а не перезапустить.)
Удаление
- Выполняйте команду удаления в корневой папке Redmine
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows VERSION=0
- Удалите папку плагина advanced_workflows из redmine/plugins/
rm -r advanced_workflows
- Остановите и запустите redmine.
Настройка
- Настройте роли пользователей в Администрирование -> Роли и права доступа.
- Включите модуль «Advanced Workflows» для проектов в настройках каждого проекта.
- Проверьте и измените другие настройки плагина в Администрирование -> Модули -> Advanced Workflows.
Администрирование
Раздел «Роли и права доступа»
- Управление правилами на уровне проекта - доступ к редактированию правил и действий в проекте.
Раздел «Настраиваемые поля»
Плагин Advanced Workflows добавляет новый формат настраиваемых полей "Дата и Время"


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

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

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

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

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

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

При нажатии на имя правила, откроется окно редактирования.\nТут можно указать в каких проектах правила будет включена.

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


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

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

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

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

При нажатии на имя правила, откроется окно редактирования.\nТут можно указать в каких проектах правила будет включена.

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


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

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

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

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

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

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

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

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

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

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

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

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

В случае возникновения проблем или вопросов напишите нам письмо [email protected]