3. 工作流设计器实战
Jira 内置的工作流设计器(Workflow Designer)是管理员在浏览器中直接编辑工作流的主要入口。它把工作流抽象为“状态 + 转换 + 转换界面 + 属性”四类可编辑对象,并以可视化画布呈现。本节以一个真实可复现的场景为主线:为“软件缺陷跟踪”项目创建一个名为 Bug Review Workflow 的自定义工作流,覆盖从新建、绘制状态与转换,到配置转换界面、设置条件与属性,最后绑定到工作流方案并验证的完整过程。
一、进入设计器与新建工作流
路径为:Jira 管理 → 问题 → 工作流,点击“添加工作流”,选择“创建新的工作流”,输入名称 Bug Review Workflow 与描述。Jira 会默认生成一个“Open → In Progress → Done”的初始草稿。设计器画布支持拖拽节点、双击节点改名、从节点边缘拖出连线创建转换。所有修改先保存在草稿中,只有点击“发布”才会生成新版本并影响线上项目,这是设计器最重要的安全机制。
二、绘制状态与转换
本示例设计 5 个状态:Open(新建)、Triage(待分诊)、In Progress(处理中)、In Review(待验证)、Closed(关闭)。转换关系如下:
- Open → Triage:转换名
Start Triage,由项目负责人触发; - Triage → In Progress:转换名
Assign & Start,需填写经办人; - In Progress → In Review:转换名
Submit for Review,需填写修复说明; - In Review → Closed:转换名
Verify Pass,仅测试角色可执行; - In Review → In Progress:转换名
Verify Fail,回退到处理中; - 任意状态 → Closed:全局转换
Reject,用于无效缺陷。
在画布上,每个转换就是一条带箭头的连线,双击连线即可打开转换配置面板。设计器会自动校验:是否存在孤立状态、是否有状态无法到达、是否缺少初始状态。若出现红色提示,必须先修复才能发布。
三、配置转换界面(Transition Screen)
转换界面决定用户点击某个转换按钮时弹出的表单。设计器允许为每个转换单独指定界面,也可以复用已有界面。以 Submit for Review 为例,我们希望提交时强制填写“修复说明”和“影响版本”,操作如下:
- 双击
Submit for Review连线,打开转换配置面板; - 在“界面”下拉中选择“创建新界面”,命名为
Submit Review Screen; - 添加字段:
修复说明(自定义多行文本,必填)、影响版本(版本选择器,必填)、经办人(用户选择器,只读展示); - 保存后回到画布,该转换图标上会出现一个“界面”小标记,表示已绑定表单。
需要注意:字段是否必填由“字段配置”和“界面”共同决定。若字段在界面中标记为必填,但字段配置中该字段对当前项目不可见,则界面不会显示该字段,必填校验也不会生效。因此配置界面后,应回到“字段配置方案”确认字段可见性。
四、设置条件、验证器与后处理功能
转换配置面板下方有三个关键区域,它们决定“谁能执行、执行前校验什么、执行后发生什么”:
| 区域 | 作用 | 本示例配置 |
|---|---|---|
| 条件(Conditions) | 控制转换按钮是否可见/可用 | Verify Pass 仅“测试”项目角色可执行 |
| 验证器(Validators) | 提交前校验输入是否合法 | Submit for Review 校验“修复说明”非空 |
| 后处理功能(Post Functions) | 转换成功后自动执行动作 | Assign & Start 自动设置经办人并更新“开始时间” |
后处理功能是工作流自动化的核心。例如在 Assign & Start 中添加“更新问题字段”后处理,把 开始时间 设为当前时间;在 Verify Pass 中添加“设置解决结果”后处理,把解决结果设为“已修复”。这些动作按顺序执行,顺序错误可能导致字段被覆盖,因此设计器允许拖拽调整后处理顺序。
五、工作流属性(Workflow Properties)
属性是附加在工作流、状态或转换上的键值对,常被插件或脚本读取。设计器在“属性”标签页中提供编辑入口。常见属性包括:
jira.permission.close:限制关闭转换的权限;jira.issue.editable:控制某状态下问题是否可编辑;jira.field.resolution.include:指定解决结果字段可选值。
属性值区分大小写,且不会在设计器中做语义校验,写错键名通常不会报错,但也不会生效。建议先在测试项目验证,再推广到生产项目。
六、发布、绑定与验证
完成编辑后点击“发布”,Jira 会生成工作流的新版本。随后需要把工作流绑定到项目:进入 项目设置 → 工作流,选择“切换工作流方案”,将 Bug Review Workflow 关联到目标项目。绑定后建议做一次端到端验证:
- 新建一个缺陷,确认初始状态为
Open; - 依次执行各转换,检查转换界面字段是否按预期出现、必填是否生效;
- 用非测试角色尝试
Verify Pass,确认按钮不可见; - 执行
Submit for Review后查看问题历史,确认后处理功能已写入“开始时间”和解决结果。
通过以上步骤,一个包含状态、转换、界面、条件、验证器、后处理与属性的自定义工作流即可投入使用。设计器的价值在于把原本需要 XML 编辑的工作流配置转化为可视化操作,但字段可见性、权限与后处理顺序仍需结合字段配置方案和权限方案综合判断,才能保证工作流在真实项目中稳定运行。