一、创建工作流

首先点击右上角的jira管理(小齿轮)中的问题

点击左侧目录中的”工作流“

点击添加工作流、输入名称,之后就可以开始搭建工作流了。

二、搭建工作流。

之后我们会看到此页面,接下来我们用一个已经完成的简单工作流依次介绍各个基础功能。

1、图形--文本 转换按钮

这个功能完全看个人喜好和熟练程度。图形流程更直观,文本细节更完整,如下图:

对我个人来说,偏向于图形进行创建以保证思路清晰、文本进行维护可以省去很多不必要的操作,但在复杂工作流中,利用图形可以快速的定位转换和状态。

2、转换和状态

转换:指的是正常处理issue时的动作。

状态:对issue进行动作之后的问题状态。

在issue页面中的体现如图:

3、工作流的搭建步骤:

点击添加状态和添加转换进行搭建。

1)创建新状态时,除了初始状态(刚创建时)和最终状态配置为想应类别之外,建议其他都配置为处理中类别:

2)转换定义起始和目标状态,编辑名称。

三、转换的五个核心组件(支撑工作流自动化)

注:此部分由AI生成后修改完成

1. 属性(Properties)

定义:为转换添加的键值对参数,用于控制转换的行为或传递信息给其他功能(如插件、自动化)。作用:扩展转换的默认行为,支持自定义逻辑或与其他功能联动。

常见用途:
  • 隐藏转换按钮:通过属性 jira.issue.transition.hide 设置为 true,在特定条件下隐藏界面上的转换按钮。
  • 控制通知:通过 notification.disabled 设置为 true,禁用该转换的默认通知。
  • 传递参数给插件:如与 ScriptRunner 联动时,通过自定义属性(如 custom.approver)传递审批人信息。
配置位置:

在工作流编辑界面,点击转换箭头 → 属性 → 点击 “添加属性”,输入键(Key)和值(Value)。

2. 触发器(Triggers)

定义:触发转换执行的条件或事件(即 “如何启动这个转换”)。作用:决定转换是手动触发还是自动触发。

常见类型:
  • 手动触发(默认):最常用,用户通过点击界面上的转换按钮(如 “开始处理”)触发。
  • 自动触发:
    • 时间触发:通过插件(如 Automation for Jira)设置 “当问题满足条件并达到指定时间时自动执行转换”(如 “24 小时未处理的问题自动转为‘阻塞’”)。
    • 事件触发:当特定系统事件发生时触发(如 “当子任务全部完成时,自动转换父任务为‘已完成’”)。
注意:

Jira 原生工作流的转换默认仅支持手动触发,自动触发需通过自动化规则或插件(如 ScriptRunner) 实现。

3. 条件(Conditions)

定义:转换执行前必须满足的逻辑判断(即 “谁可以执行这个转换”)。作用:限制转换的执行者或执行场景,只有条件满足时,转换才能被触发。

常见条件:
  • 用户权限条件:如 “只有项目管理员可以执行‘关闭问题’转换”。
  • 问题状态条件:如 “只有当问题的‘优先级’为‘高’时,才能转换为‘紧急处理’”。
  • 关联问题条件:如 “只有当所有子任务都完成时,才能转换父任务为‘已完成’”。
  • 自定义脚本条件:通过插件(如 ScriptRunner)编写 Groovy 脚本,实现复杂逻辑(如 “当前用户必须是问题的报告人或经办人”)。
配置位置:

在工作流编辑界面,点击转换箭头 → 条件 → 选择预设条件或添加自定义条件。

4. 验证器(Validators)

定义:转换执行前对问题字段或状态的校验(即 “执行转换前必须满足哪些数据要求”)。作用:确保转换时问题数据的完整性和正确性,避免无效操作。

常见验证器:
  • 必填字段验证:如 “转换为‘已解决’时,‘解决方案’字段必须填写”。
  • 字段格式验证:如 “‘截止日期’必须晚于‘创建日期’”。
  • 状态一致性验证:如 “禁止将已关闭的问题重新转为‘进行中’”。
  • 自定义脚本验证:通过插件编写脚本,如 “验证‘测试报告’附件已上传”。
与条件的区别:
  • 条件:控制 “谁能触发转换”(侧重执行者或场景)。
  • 验证器:控制 “转换时数据是否有效”(侧重问题字段或状态)。

5. 后处理(Post Functions)

定义:转换执行成功后自动触发的操作(即 “转换完成后要做什么”)。作用:实现转换后的自动化处理,减少手动操作。

常见后处理操作:
  • 更新字段:如 “转换为‘进行中’时,自动将‘经办人’设为当前用户”。
  • 触发事件:如 “转换为‘已完成’时,触发‘Issue Closed’事件,用于关联通知或其他自动化”。
  • 创建子任务:如 “转换为‘开发中’时,自动创建‘单元测试’子任务”。
  • 发送通知:通过 “发送邮件” 后处理,自定义通知内容(如前文提到的状态变更邮件)。
  • 执行脚本:通过插件运行 Groovy 脚本,实现复杂逻辑(如 “同步问题数据到外部系统”)。
执行顺序:

后处理按配置顺序依次执行,若某一步失败,后续操作会中断,需注意依赖关系(如 “先更新字段,再发送包含该字段的通知”)。

注:大多数的问题都可以通过解除绑定工作流方案后修改来解决。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐