2. Jira自动化规则核心构件
在Jira中创建一条自动化规则,本质上是在回答五个问题:什么时候触发、满足什么条件才继续、要做什么动作、不同情况走哪条路、动作里的字段值从哪来。这五个问题分别对应自动化规则的五个核心构件:触发器(Trigger)、条件(Condition)、动作(Action)、分支(Branch)与智能值(Smart Value)。理解它们的职责边界与执行顺序,是后续编写复杂规则、排查规则不生效问题的前提。
一、五个构件的职责与作用域
触发器是规则的入口,决定规则在什么事件发生时被评估。Jira Cloud自动化提供三类触发器:基于工作项事件的(如“工作项已创建”“字段值已更改”“工作项已转换”)、基于时间计划的(如“定时”“SLA 时间即将到期”)、以及基于外部事件的(如“传入 Webhook”)。触发器本身不判断业务逻辑,它只负责“把规则叫醒”。一条规则有且只有一个触发器,且触发器决定了规则的作用域起点——例如“工作项已创建”只对新建工作项生效,对历史数据不会追溯执行。
条件是规则的守门人,用于判断当前工作项是否满足继续执行的前提。常见条件包括“工作项字段”“用户”“高级比较”等。条件不通过时,规则在该分支上停止,但不会报错。条件与触发器的一个重要区别是:触发器决定“是否评估”,条件决定“评估后是否继续”。
动作是规则真正产生效果的部分,例如“编辑工作项”“分配工作项”“添加评论”“发送通知”“转换工作项”“创建子任务”等。动作可以串联多个,按从上到下的顺序依次执行。动作是唯一会修改Jira数据的构件,因此也是权限与审计关注的重点。
分支用于在同一规则内处理不同对象或不同情况。Jira自动化中有两类分支:相关事项分支(如“当前工作项的子任务”“父级工作项”“关联的问题”)和条件分支(如“如果/否则”)。分支会改变后续动作的作用对象——在分支内部执行“编辑工作项”,编辑的是分支选中的对象,而不是触发规则的那个工作项。这是初学者最容易混淆的一点。
智能值是动作参数中的动态占位符,用双花括号包裹,例如 {{issue.key}}、{{issue.summary}}、{{now}}、{{triggerIssue.assignee.displayName}}。智能值让动作不再写死,而是从触发上下文、当前工作项、分支对象或系统函数中取值。它本身不产生动作,只作为动作参数的“数据来源”。
二、执行顺序:一条规则的真实运行轨迹
规则被触发后,Jira按固定顺序推进:触发器命中 → 依次评估顶层条件 → 执行顶层动作 → 遇到分支时切换作用对象 → 在分支内继续评估条件与执行动作。需要特别注意的是,条件只对它之后、同一层级内的动作生效;分支内部的条件不会影响分支外的动作。此外,动作是顺序执行的,前一个动作修改的字段,后一个动作可以读取到新值,这为“先赋值再判断”的写法提供了可能。
三、作用域:谁被这条规则影响
作用域是规则治理中最容易出问题的维度。触发器决定了规则的“起点范围”,例如“工作项已创建”只覆盖新建动作;条件可以进一步收窄范围,例如限定“项目 = 客服支持”且“问题类型 = 故障”;分支则改变动作的“目标范围”,例如从当前工作项切换到它的子任务。三者叠加后,规则的实际影响面可能远大于或远小于直觉判断。建议在规则命名中直接体现作用域,例如“客服支持-故障创建-自动分配-子任务同步”,便于后续审计。
四、常见配置入口
在Jira Cloud中,自动化规则的配置入口主要有三处:项目设置 → 自动化(项目级规则,仅对当前项目生效)、全局设置 → 系统 → 自动化(全局规则,跨项目生效,需要管理员权限)、以及工作项视图中的规则面板(查看与当前工作项相关的规则执行记录)。规则编辑器采用“触发器—条件—动作”的纵向堆叠布局,分支以缩进块的形式嵌套在动作之间。保存前建议先用“试运行”或“手动触发”验证,再启用规则。
五、一个可参考的配置样例
假设需求是:客服支持项目中新建“故障”类型工作项时,若优先级为“高”,则自动分配给值班负责人,并在其所有子任务上添加评论“请同步排查”。对应配置如下:
触发器:工作项已创建(项目 = 客服支持)
条件:问题类型 = 故障 且 优先级 = 高
动作1:分配工作项 → 值班负责人(用户组)
分支:当前工作项的子任务
动作2:添加评论 → "请同步排查,主任务:{{triggerIssue.key}}"
其中 {{triggerIssue.key}} 是智能值,指向触发规则的那个主任务,而不是分支中的子任务。如果把这里写成 {{issue.key}},评论里出现的将是子任务自己的编号——这正是作用域与智能值配合时需要特别留意的细节。
{{issue}} 却以为它仍指向触发工作项。前者不会生效,后者会取到分支对象。排查规则不生效时,优先检查这两点。掌握这五个构件的职责、顺序与作用域后,后续编写多条件、多分支的复杂规则时,就能先画出“触发—条件—动作—分支”的结构草图,再逐段落入编辑器,从而减少反复试错。