2020 年上半年,Atlassian 在 Jira Cloud 上推出了一个非常不错的新功能 Jira Automation,将强大的无代码自动化功能带入 Jira Cloud 原生功能中,不用安装额外的插件,就可以非常方便的实现如下能力:
-
协助团队在不用编码的情况下,将很多重复且乏味的工作自动化,帮助团队专注在价值更高的工作上;
-
在多团队、多工具的情况下,流程会因为每个人对于执行细则和工具使用的理解不一样而变得混乱。自动化可以帮助团队标准化的梳理和组织各种活动,而 Jira Automation 为其提供了高效而低成本的实现方式;
-
通过 Jira Automation 可以非常方便的集成工作中使用的 IM 工具,极大降低信息同步成本,提高效率;
-
通过 Jira Automation 可以帮助团队更加系统的进行编码到产出的 Devops 实践。
作为 Jira Cloud 的用户,我们尝试在工作中逐步引入 Jira Automation,进行了一些探索和实践,这篇文章梳理和总结了这过程中的一些经验和心得和大家进行分享。
功能介绍
管理页面及入口
Jira Automation 的管理界面比较简洁,管理界面的规则页面,按照规则类型:全部规则、全局规则、项目规则对所有自动化规则进行了分类,用户可以自定义标签进行规则过滤。列表的每个条目展示了规则名称、拥有者、项目名称,开闭状态开关。单条规则可以进行复制、移出和导出操作。
其入口有两处:
-
每个项目的项目管理侧边栏中有 Jira Automation 的入口,可以直接进入该项目的管理界面,看到属于该项目,以及拥有者为当前用户的规则列表。
-
在系统设置的“System”页面侧边栏有另外一个入口,需要有系统管理员权限才能访问而,进入后可以看到所有的规则。
管理页面的右上角有“创建规则”按钮,旁边的“...”菜单中有“性能洞察”可以看到每条规则的执行次数,总时长和平均时长以及执行结果的数据。菜单的其它功能基本都是常规操作,这里不再赘述。
管理页面中还提供了“审计日志(Audit Log)”以及“模板库(Library)”。审计日志可以看到每次规则执行的详细信息,模板库提供了一些常规的规则模板。
规则创建
规则详情
创建规则功能中可以配置规则的详细信息以及规则的过程定义。在规则详情中除了通用的规则名称、描述外,还可以进行如下定义:
-
规则的使用范围:是单个项目适用还是多项目共用;
-
允许其它规则触发;
-
错误通知的方式;
-
规则的拥有者;
-
规则的执行者。
规则过程定义
上述规则详情定义好以后就是 Jira Automation 功能的重头戏规则的过程定义了。Jira Automation 将规则抽象成了四类组件:
-
触发器组件(trigger)
-
条件判断组件(condition)
-
执行组件(action)
-
分支组件(branch)
触发器(trigger)
每次创建自动化规则,第一个需要定义的就是触发器组件,该组件作为规则的输入,规则中的后续判断和执行均依赖这个组件进行触发。Jira Automation 将触发器组件分成了四类:
-
事务触发器:
这类触发器是目前我们会频繁使用到的触发器,这类触发器可以定义 Jira 中项目(Project)、迭代(Sprint)、版本(Version)、事务(Issue)的各种变化作为触发条件。是内容最为丰富的一类触发器,基本上覆盖了 Jira 上与事务相关的所有使用场景。
-
DevOps 触发器
这类触发器是用于代码、分支、构建、发布过程作为触发条件的触发器,需要这几类工具和 Jira 系统进行集成才能更好的使用。目前对这类触发器的使用我们在进行探索。