高级工作流
概述
此插件用于实现业务流程的灵活配置和自动化。 它可以设置超出 Redmine 标准工作流的复杂场景,并自动执行。灵活的“自定义规则”系统允许设置特定的限制。
主要功能
- 自定义字段的新格式:“日期和时间”
- 自定义规则
- 自动操作
兼容性
Redmine: 5.0 - 6.1
Web 浏览器: Chrome, Firefox, Safari, Edge
数据库: MySQL 5.7, MySQL 8.0, PostgreSQL 14-16, SQLite
插件: 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
- 从
redmine/plugins/中删除插件文件夹advanced_workflow。
rm -r advanced_workflow
- 停止并启动 Redmine。
配置
- 在“管理”->“角色和权限”中配置用户角色。
- 在每个项目的设置中启用“高级工作流”模块。
- 在“管理”->“模块”->“高级工作流”中检查和修改其他插件设置。
管理
**“角色和权限”**部分
- 管理项目级别的规则 - 访问项目中的规则和操作的更改。
**“自定义字段”**部分
高级工作流插件添加了一种新的自定义字段格式“日期和时间”。


“日期和时间”可以用作过滤器(条件)。

可用选项:
- 在接下来的几小时内 - 过滤器将针对“日期和时间”字段的值包含在从 UTC 当前时间开始的未来一小时内的工单。

**“模块”**部分
管理 -> 模块 -> 高级工作流 中可配置的项目:
-
以用户身份运行 - 用于选择管理员以按计划执行操作的选项。
-
计划的操作正在运行的最大工单数量。

**“自定义规则”**部分
自定义规则允许设置在特定条件下将工单分配给用户的限制。
可以在 管理 -> 自定义规则 中创建和配置规则。

创建规则
创建时,您需要指定名称和激活。

编辑规则
创建规则后,您可以编辑条件和限制。

可用条件:
- 项目
- 跟踪器
- 版本
- 作者
- 当前用户
- 分配给组
- 作者组
- 分配给角色
- 当前用户的角色
- 工单状态
- 父工单的跟踪器
- 父工单的版本
- 自定义字段“工单”(类型:“列表”、“文本”、“浮点数”、“整数”、“日期”、“日期和时间”)
- 自定义字段“项目”(类型:“列表”、“文本”、“浮点数”、“整数”、“日期”)


可用限制:
- 负责人
- 负责人组
- 负责人的角色
- 截止日期
- 跟踪器
- 版本

**“自动操作”**部分
自动操作允许在特定条件下,在保存工单时或按计划执行所选操作。
可以在 管理 -> 自动操作 中创建和配置操作:

创建操作
创建时,您需要指定名称、执行方式和激活。
可以通过两种不同的方式执行操作:
-
保存时 - 操作会在创建/编辑工单时立即执行。
-
**** - 规则会按照 克朗 计划定期执行。

编辑操作
创建操作后,您可以编辑条件和操作。

可用条件:
- 工单的标准过滤器
- 工单的自定义过滤器
可用操作:
-
负责人
-
禁用保存
-
发送邮件
-
状态
-
跟踪器
-
版本
-
开放子任务的版本
-
观察者
-
网络钩子 (得到)
-
网络钩子 最重要的
-
网络钩子 电报
-
检查清单(如果安装了 :redmine_advanced_checklists 插件)


在“发送邮件”、“网络钩子 (得到)”、“网络钩子 最重要的”、“网络钩子 电报”操作中,可以使用操作变量。

用法
激活规则和操作
创建规则和操作之后,您需要在项目设置中单独启用它们。
为此,请转到:
项目 -> 设置 -> 自定义规则, 启用此项目所需的规则。

项目 -> 设置 -> 自动操作, 启用此项目所需的操作。

自定义规则
如果满足条件,则应用可用的限制:
负责人:
工单只能分配给选定的用户。

负责人组:
工单只能分配给选定组的成员。

负责人的角色:
工单只能分配给在项目中具有选定角色的用户。

截止日期:
工单的截止日期只能在定义的日期范围内指定。

跟踪器:
工单只能具有选定的跟踪器。

版本:
工单只能具有选定的版本。

自动操作
执行方式 “计划任务”
操作会按照 计划任务 计划定期执行。
要使自动操作正常工作,您需要在服务器的 定时任务 中添加一个新命令,以执行 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
以启动 Redmine 的用户的名义将此命令添加到 计划任务,并将 /绝对路径/redmine 替换为 Redmine 安装文件夹的绝对路径。
计划任务 命令每 5 分钟运行一次 */5 * * * *
所有标准消息将 追加 到 .../logs/cron_advanced_workflows.log 文件中。
如果满足条件,则执行可用的操作:
网络钩子 (得到):
向指定的 URL 发送 得到 请求。 用于与外部系统集成,例如与 Jira 同步。
支持所有工单字段变量。

网络钩子 最重要的:
以 最重要的 格式向指定的 URL 发送消息。 用于与 最重要的 集成。
支持所有工单字段变量。

网络钩子 电报
以 电报 格式向指定的 URL 发送消息。 用于与 电报 集成。
支持所有工单字段变量。
发送邮件:
向指定的用户或用户组发送邮件。
支持所有工单字段变量。

版本:
自动更改工单的版本。
- 替换为当前工单的版本 - 将工单的版本替换为项目的当前(有效的)版本。

开放子任务的版本:
-
更改为 - 将所有开放子任务的版本更改为指定的版本。
-
设置为与工单的版本相同 - 将所有开放子任务的版本更改为工单的版本。

禁用保存:
禁用工单的创建/编辑。

观察者:
将指定的观察者工单中。

状态:
将工单的状态更改为指定的状态。

跟踪器:
将工单的跟踪器更改为指定的跟踪器。

检查清单:
如果安装了 :redmine_advanced_checklists 插件,则可用。
在满足条件时,从模板自动创建清单。
使用预先准备的模板。

如果您有任何问题或疑问,请发送电子邮件至 [email protected]