logo

RedmineKanban

Login
最後更新: 2026/3/19

Advanced Workflows

描述

用于灵活配置和自动化业务流程的插件。 它允许配置和自动执行超出 Redmine 标准工作流程的复杂场景。灵活的"自定义规则"系统还可以设置特定的限制。

主要功能

  • 新的自定义字段格式:"日期和时间"
  • 自定义规则
  • 自动操作

兼容性

Redmine:5.0 - 6.0

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。


安装和更新

  1. 如果存在,请从 Redmine 中删除旧版本的插件。

    cd redmine/plugins
    rm -r advanced_workflows
    
  2. 将新的插件文件夹 advanced_workflows 复制到 redmine/plugins/

  3. 在 Redmine 根文件夹中运行迁移。

    bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows
    
  4. 停止并启动 Redmine。(在某些 Redmine 安装中(例如 Docker),重要的是停止并启动服务器,而不仅仅是重新启动。)


卸载

  1. 在 Redmine 根文件夹中执行卸载命令。
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows VERSION=0
  1. redmine/plugins/ 中删除插件文件夹 advanced_workflows
rm -r advanced_workflows
  1. 停止并启动 Redmine。

配置

  1. 在管理 -> 角色和权限中配置用户角色。
  2. 在每个项目的设置中为项目启用「Advanced Workflows」模块。
  3. 在管理 -> 插件 -> Advanced Workflows 中检查和修改其他插件设置。

管理

"角色和权限" 部分

  • 管理项目级别的规则 - 在项目中编辑规则和操作的权限。

"自定义字段"部分

Advanced Workflows 插件添加了一种新的自定义字段格式:"日期和时间"

Custom fields

in Issue edit

"日期和时间" 可以用作筛选器(条件)。

Used as a filter

可用选项:

  • 下一小时 - 筛选器将包含那些"日期和时间"字段值在当前 UTC 时间之后的一小时之内的问题。

Filter: Release time


"插件"部分

管理 → 插件 → Advanced Workflows 中,可以配置:

  • 以用户身份运行 - 可以选择一个管理员,计划操作将以其名义执行。
  • 执行计划操作时的最大问题数。

Plugin settings


"自定义规则" 部分

自定义规则允许在定义的条件内,对向用户分配问题设置限制。

管理 → 自定义规则 中可以创建和配置规则:

Custom rules page without any rules

创建规则

创建时,指定名称和在项目设置中的显示:

New custom rule

编辑规则

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

Custom rules page with a active rule

点击规则名称将打开编辑窗口。 此处可以指定在哪些项目中启用该规则。

Edit custom rule

可能的条件

  • 项目
  • 跟踪标签
  • 版本
  • 作者
  • 当前用户
  • 指派给的用户组
  • 作者的用户组
  • 指派给的角色
  • 当前用户的角色
  • 问题状态
  • 父任务跟踪标签
  • 父任务版本
  • "问题"的自定义字段,类型为"列表"、"文本"、"浮点数"、"整数"、"日期"、"日期和时间"。
  • "项目"的自定义字段,类型为"列表"、"文本"、"浮点数"、"整数"、"日期"。

Conditions

Conditions

可能的 限制

  • 指派给
  • 指派给的用户组
  • 指派给的角色
  • 到期日
  • 跟踪标签
  • 版本

Restrictions


"自动操作" 部分

自动操作允许在指定条件内,在保存问题或按计划执行选定的操作。

管理 → 自动操作 中可以创建和配置 操作

Automatic actions page without any actions

创建操作

创建时,指定名称、执行方法和在项目设置中的显示。 操作可以通过两种不同的方式执行:

  • 保存时 - 在创建或编辑问题时立即执行操作。
  • 按计划(cron)- 规则将根据 cron 计划定期执行。

Creating a new action

编辑操作

创建操作后,可以编辑规则、条件和操作。

Automatic actions page with a active action

点击规则名称将打开编辑窗口。 此处可以指定在哪些项目中启用该规则。

action editing page

可能的条件

  • 标准问题筛选器
  • 自定义问题筛选器
  • 来自其他插件的问题筛选器

可能的 操作

  • 指派给
  • 禁止保存
  • 发送邮件
  • 状态
  • 跟踪标签
  • 项目
  • 版本
  • 打开的子任务版本
  • 关注者
  • Webhook(GET)
  • Mattermost Webhook
  • Telegram Webhook
  • 检查清单(如果安装了 redmine_advanced_checklists 插件)

Actions

Actions

对于"发送邮件"、"Webhook(GET)"、"Mattermost Webhook"和"Telegram Webhook"操作,可以使用操作变量。

Action variables


使用

启用规则和操作

创建 规则操作 后,需要在项目设置中单独启用它们。

为此,请转到:

项目 → 设置 → 自定义规则,启用此项目中需要的规则。 Custom rules in project settings

项目 → 设置 → 自动操作,启用此项目中需要的操作。

Automatic actions in project settings

自定义规则

满足条件时将应用的可用限制:

指派给

问题只能分配给选定的用户。

Assignee

指派给的用户组

问题只能分配给属于选定用户组的用户。

Assignee's group

指派给的角色

问题只能分配给在项目中具有选定角色的用户。

Assignee's role

到期日

问题的到期日只能在指定的日期范围内设置。

Due date

跟踪标签

问题只能具有选定的跟踪标签。

Tracker

版本

问题只能具有选定的版本。

Version

自动操作

执行方法 "按计划"

将根据 cron 计划定期执行。

为使自动操作正常工作,需要在服务器的 crontab 中添加一个新命令,该命令执行 bundle exec rake advanced_workflows:run_actions

示例命令:

*/5 * * * * cd /redmine/的/绝对路径 && bundle exec rake advanced_workflows:run_actions >> /redmine/的/绝对路径/logs/cron_advanced_workflows.log

以运行 Redmine 的用户身份将此命令添加到 cron 中,将 /redmine/的/绝对路径 替换为您的 Redmine 安装文件夹的绝对路径。

cron 命令将每 5 分钟运行一次 */5 * * * *

所有标准消息都将 追加 到文件 .../logs/cron_advanced_workflows.log 中。

满足条件时将执行的可用操作:

Webhook(GET)

向指定的 URL 发送 GET 请求。用于与外部系统集成,例如与 Jira 同步。

支持所有问题字段变量。 Webhook (GET)

Mattermost Webhook

向 Mattermost 频道发送消息。

  • URL:Mattermost 传入 Webhook 的 URL。
  • POST 数据:要发送的消息。

支持所有问题字段变量。 Webhook Mattermost

Telegram Webhook

使用机器人向 Telegram 群组聊天发送消息。

  • 令牌:Telegram 机器人的令牌
  • 聊天 ID:添加了此机器人的聊天 ID
  • POST 数据:要发送的消息

支持所有问题字段变量。 Webhook Telegram

发送邮件

向指定的邮件地址发送电子邮件。地址可以用逗号 , 或分号 ; 分隔。

支持所有问题字段变量。

Send mail

版本

自动更改问题的版本。

  • 替换为当前问题版本 - 将问题的版本替换为项目的当前(有效)版本。Version

打开的子任务版本

  • 更改为 - 将所有打开的子任务的版本更改为指定的版本。
  • 设置为等于问题版本 - 将所有打开的子任务的版本更改为问题的版本。

Version of open subtasks

禁止保存

禁止创建/编辑问题。 Disable save

关注者

将指定的关注者添加到问题。 Watchers

状态

将问题状态更改为指定状态。 Status

跟踪标签

将问题跟踪标签更改为指定的跟踪标签。 Tracker

检查清单

如果安装了 redmine_advanced_checklists 插件,则可用。

当满足条件时,从模板自动创建检查清单。

使用预先准备好的模板。 Checklists

项目

将问题的项目更改为指定的项目。

Project

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