自定义工作流
下面介绍如何在 Jira 中自定义工作流。某个项目需要记录用户的反馈,依据一个标准操作流程规范对用户反馈进行处理。这个标准操作流程的规范如下:
-
运营人员收到用户的反馈后,创建一条用户反馈记录并通知项目组进行处理。
-
项目组分配一个成员为经办人,并且在记录的描述信息中添加处理方案,更新记录的状态为 “处理中”。
-
反馈处理完成后,经办人更新记录的状态为 “完成”。
我们先根据标准操作流程规范创建一个工作流,然后设置项目中的用户反馈问题类型。
工作流
用管理员账号登录 Jira 后,单击右上角的 “Jira管理菜单中的问题”,进入问题管理页面,单击左侧导航栏中的 “工作流”,进入工作流管理页面,如图5-46所示。

在 Jira 中新建一个项目会默认创建相关的工作流,在这个页面中可以看到很多项目相关的工作流。在这个页面中可以对这些工作流进行查看和修改。如果想基于某个工作流进行修改,可以先选择 “复制”,再进行修改。
单击 “添加工作流”,新建一个工作流。在弹出的页面中填写新建工作流的名称和描述,如图5-47所示。

单击 “添加” 按钮后,Jira 将创建一个工作流并跳转到工作流的编辑页面,默认显示为图形设计模式。在新建的工作流中,Jira 自动创建了1个状态和1个转换,如图 5-48 所示。

状态代表问题的状态(Jira 有些页面也会将其翻译为步骤),例如待办、进行中、完成等,在图5-48中用一个矩形方块来表示。转换是指状态之间的转换,并且只能是单向的,例如状态从待办转换为进行中,在图5-48中用线段来表示。
在问题页面中,转换会以按钮的形式展现在页面顶部的工具条中,图5-49所示为需求问题类型的3个转换。通常我们会让转换和状态的名字保持一致,图5-49中转换的名称即为目标状态的名称。
转换的设置包括属性、触发器、条件、验证器、后处理、界面,具体功能如表5-2所示。


了解了工作流中状态和转换的概念和用途后,我们来定制工作流。定制工作流就是按照标准操作流程规范,定义一个问题反馈生命周期中所有的状态和处理过程。我们把标准操作流程规范中描述的内容进行步骤分解,定义出相应的工作流。
运营人员收到用户的反馈后,创建一条用户反馈记录并通知项目组进行处理。在工作流页面中,系统默认创建的OPEN状态和Create转换,定义了一个问题创建后的初始状态为OPEN。系统默认创建的初始状态和我们的需求一致,无须修改,代表运营人员收到用户的反馈后,创建一条记录,状态为OPEN并等待项目组处理。
如果希望问题为其他初始状态,可以新建一个状态,拖曳代表转换的线段,连接新的状态的矩形方块。
项目组分配一名成员为经办人,在记录的描述信息中添加处理方案,更新记录的状态为处理中。从需求描述中可以看出,一个记录在创建后,下一步动作是处理,处理后状态变为处理中。处理动作中还需要用户在描述字段中填写处理方案。
下面,我们添加一个新状态 “处理中”。单击 Jira 工作流页面左上角的 “添加状态”,系统会弹出新建状态的页面,如图5-50所示。

在下拉框中我们可以新建或者选择已有的状态。为了保持系统的一致性和简洁,建议尽量重用状态。在系统中已经有一个代表处理中的状态 In Progress,可以在下拉框中直接选择。对于 “让所有的状态转换到这状态” 复选框,如果选中,就代表任何状态都可以转换到这个状态。在我们的需求中,只允许从 OPEN 状态转换成 In Progress 状态,所以不选中这一项。单击 “添加” 后,系统将在工作流图形设计器中创建一个状态矩形方块,如图5-51所示。

在新建的状态属性页面中,可以看到一个错误提示,没有进入该状态的转换。因为我们刚才没有选中让所有状态转换到这个状态,所以系统没有创建任何的转换。我们需要手动创建一个转换,并且从 OPEN 状态指向 In Progress。单击页面左上角的 “增加转换”,系统会弹出新建转换的页面。设置转换的起始位置和目标状态,此处的转换名称将会出现在“问题详情”页面中,对应于操作按钮的名称,界面将在转换过程中收集用户填写的信息,暂时不选择界面。填写后的效果如图5-52所示。
单击 “添加” 按钮后,系统将新增一条连接 OPEN 状态到 IN PROGRESS 状态的线,连线的名称显示为 “开始处理”。选择转换的连线,可以看到转换的描述和选项,如图5-53所示。


我们需要在状态转换为处理中的同时,分配一个成员为经办人,并且在描述字段中记录处理方案。为了收集转换过程中的额外信息,我们需要添加一个界面让用户填写。这个界面中至少需要包括经办人和描述字段。单击页面右上角 “Jira管理” 菜单中的 “问题”,进入问题管理页面。然后单击左侧导航栏中的 “界面”,进入界面管理页面。最后单击页面右上角的 “添加屏幕”,在弹出的页面中,填写界面名称和描述,如图5-54所示。

单击 “添加” 按钮后,系统创建新界面,然后跳转到界面的配置页面。我们把需要的字段(经办人、描述)依次增加到界面中,如图5-55所示。

添加界面后,把界面和转换关联起来。在工作流管理页面底部,单击 “未活跃” 标题,在展开的工作流里面找到 User Feedback SOP。因为这个工作流此时还未被任何项目使用,所以是未活跃的。在工作流编辑页面中单击转换,在转换的属性页面中,单击 “编辑” 按钮。在打开的编辑转换页面中的下拉框中选择刚才新建的界面,如图5-56所示。

问题反馈处理完成后,只有经办人才可以把用户反馈记录的状态从 IN PROGRESS 变成 DONE。我们需要新建一个完成状态(DONE),并且新建一个转换,从 IN PROGRESS 指向 DONE。这个转换还需要增加一个限制条件——只有经办人才能做这个转换,其他人无法看到这个转换的按钮。我们按照之前介绍的设置方法,首先新建状态和转换,然后打开转换的属性页面,如图5-57所示。
我们需要给处理完成的转换增加一个限制条件,单击 “条件”,打开转换的配置页面,如图5-58所示。
在转换的配置页面中,可以看到触发器、条件、验证器、后处理等配置。我们需要增加一个条件,只有经办人才能看到和操作。单击 “添加条件” 按钮,在打开的页面中有很多系统自带条件供选择,选择 “仅允许经办人”,如图5-59所示。



至此,我们已经按照标准操作流程规范创建好了工作流,工作流包括 3 个状态(OPEN、IN PROGRESS、DONE),以及依次连接它们的 3 个转换,如图5-60所示。
工作流方案
完成工作流的设置后,我们还需要把工作流和问题类型进行关联,生成工作流方案后,供项目采用。用管理员账号登录 Jira 后,单击页面右上角 “Jira管理”菜单中的 “问题”,进入问题管理页面。单击页面左侧导航栏中的工作流方案,进入工作流方案页面,如图5-61所示。
在工作流方案页面,可以看到每个项目都会自动创建一个工作流方案。根据用户的需求,我们要让 “用户反馈” 这个问题类型采用新的工作流,其他的问题类型无须改变。最佳方法是编辑项目正在使用的工作流方案,把用户反馈问题类型和新的工作流进行对应,这也是日常工作中最常使用的方法。当然,我们也可以选择复制项目正在使用的一个方案,经过修改后,让项目采用新的方案。下面以修改当前方案为例进行设置。


首先,找到 Demo 项目正在使用的工作流方案(方案名称中采用项目的 Key 作为前缀),单击 “编辑”,打开方案编辑页面,如图5-62所示。

我们看到所有的问题类型都在使用同一个工作流(Software Simplified Workflow for Project DEMO)。我们需要添加一个新的工作流给用户反馈问题类型使用,单击 “添加工作流” 下拉菜单中的 “添加现有”,打开添加工作流的页面,如图5-63所示。

在工作流列表中选择新创建的工作流(User Feedback SOP),单击 “下一步”,选择需要关联的问题类型(用户反馈),如图5-64所示。

单击“完成”后,系统将回到工作流方案编辑页面,如图5-65所示。
因为我们修改了工作流方案,方案的状态已经变成草稿,并且出现了一个是否发布的提示,单击“发布”,效果如图5-66所示。
在发布工作流方案的过程中,系统提示我们要选择当前状态和新状态的对应关系。这是因为以前工作流的状态和新的工作流状态不一致,并且项目中已经创建过问题,所以系统需要转换项目中相关问题的状态为新的工作流中的状态。这里我们选择OPEN,因为OPEN状态和待办状态的含义是一致的。单击“关联”,系统开始转换,转换完成后新的方案就发布成功了。发布后的工作流方案如图5-67所示。
配置完工作流方案后,我们需要在项目中进行验证。在项目中创建一条用户反馈的问题记录,按照标准操作流程规范对其逐步处理,验证工作流的设置是否正确。
第一步,在 Demo 项目中,用户张三创建了一个问题类型为用户反馈的问题,如图5-68所示。




第二步,张三分配李四为经办人,并且在记录的描述信息中添加处理方案,更新记录的状态为 “处理中”。在问题的详情页面,单击 “分配”,在弹出的页面中把经办人填写问题李四,如图5-69所示。
问题分配给李四以后,在问题的详情页面,单击 “开始处理”,在弹出的页面中添加处理方案,如图5-70所示。
单击 “开始处理” 后,回到问题的详情页面,可以看到状态已经成功变为处理中(In Progress)。因为当前用户张三不是经办人,所以在操作栏中没有发现 “处理完成” 按钮,如图5-71所示。
切换当前用户为经办人李四,回到问题的详情页面,可以在操作栏中发现 “处理完成” 按钮,如图5-72所示。
单击 “处理完成” 按钮,完成用户反馈的全部处理。可以看到,状态已经变成了完成,如图5-73所示。





至此,我们完成了工作流的全部验证,工作流的设置过程结束。