JIRA 工作流介绍"工作流"是一个问题经过其生命周期的若干步骤和阶段的变迁。
工作流通常代表着实际的业务处理流程。
JIRA通过一定数量的状态对问题进行处理来模拟问题的生命周期。
每个状态代表了生命周期的一个阶段,通常由一个有意义的名字来表示。
本文将介绍如何创建或定制一个工作流,同时对相应的概念进行解释。
如果你已经定义了一个工作流,请参见激活工作流一节来进行使用。
JIRA所有的版本都带有一个默认的工作流。
需要说明的是JIRA标准版中只有一个默认工作流,且不能被编辑,但是在JIRA企业版和专业版中,您可以增加新的工作流来定制问题的生命周期。
•JIRA企业版中,支持多个活动的工作流。
每一个工作流可以与某一个特定项目和特定的问题类型相关联。
这样就可以实现不同的项目(或者一个项目中的不同问题类型)采用不同的工作流。
•JIRA专业版仅支持一个活动的工作流。
即在JIRA专业版中用户可以定义任意多个工作流,但在某一时刻,系统中的所有问题只能使用其中的一个工作流。
注意:处于非激活状态的工作流才能够被编辑。
如果您想修改一个处于激活状态的工作流的话,可以拷贝这个工作流(参考下面介绍的’Createing a Workflow’),然后修改这个拷贝的工作流,修改之后再激活使用它。
关于工作流步骤和变迁一个工作流是由步骤和变迁组成。
•一个工作流的步骤标识工作流中一个问题的一个阶段或者说是’状态’。
在某一时刻一个问题只能存在于一个在步骤中。
每个工作流步骤都相应有一个"连接的" 状态。
每个工作流必须有至少一个步骤,该步骤叫做初始步骤。
当一个问题被移动到某一步骤时,它的的’状态’被更新为该步骤"连接的"状态。
第 1 页共 23 页当定义一个步骤的时候,您可以(可选)指定一些属性 – 这样当一个问题进入改步骤的时候,可以阻止对问题的编辑。
•变迁是工作流中两个步骤之间的连接。
变迁使得一个问题从一个步骤移动到另外一个步骤。
为了使一个问题能够从一个步骤进入到另外一个步骤,我们需要一个变迁将这两个步骤联系起来。
注意:一个变迁是在两个步骤之间的单方向链接。
因此如果一个问题需要在两个步骤之间来回移动,我们必须要创建两个变迁。
对一个问题现有的工作流步骤已经在问题的‘View Issue’页面列出. 用户可以通过点击’可选的工作流’执行一个变迁(如。
在工作流中移动问题):当定义一个变迁的时候,您可选地指定:•显示给用户的界面(screen)— 这对于需要用户输入信息之后才能完成变迁的情况是有用的.•条件(Conditions) — 用于控制哪些用户能够执行一个变迁(如. 哪些用户在’View Issue’界面上能够看到变迁链接).•校验(Validators)— 在执行变迁之前,用于检查任何用户的输入是否合法.•后处理功能(Post Functions)— 在变迁完成之后,用于执行特定的动作, 如:将问题分配给特定的用户。
发送通知email。
更新问题的某个字段(field)。
第 2 页共 23 页在默认的工作流程图中,5个方框表示工作流步骤/状态('OPEN', 'IN PROGRESS', 'CLOSED', 等) ,箭头代表变迁(transitions)。
第 3 页共 23 页关于'open' 和 'closed' 问题的说明:在JIRA系统中(如. 在'Assigned To Me' portlet和其它的portlets上), 一个问题处于’open’或者’closed’状态取决于该问题的’Resolution’字段的值,而与问题的'Status' 字段('OPEN', 'IN PROGRESS', 等等)无关.•如果一个问题的'Resolution'字段没有被设置,则此问题就处于'open' 状态。
•如果一个问题的'Resolution'字段被设置为一个值(如. 'FIXED', 'CANNOT REPRODUCE'),则此问题就会变成'closed' 状态。
因此如果您需要在工作流中强制一个问题变成'open' 或者 'closed',您就必须在变迁过程中设置问题的'Resolution' 字段的值. 有两种方式可供选择:•通过后处理功能(post function)来字段地设置'Resolution' 字段。
•让用户在一个界面(screen)上选择'Resolution' 字段的值。
创建工作流1.以JIRA管理员帐户登录系统。
2.在JIRA的导航菜单上点击"管理" 链接,或者在JIRA的Dashboard上点击Administration box,如下图所示:3.如果左边的Global Settings的子菜单没有打开,请点击并从列表中选择Workflows。
4.View Workflows页面中列出了当前系统中全部定义的工作流,管理员可以对这些工作流进行管理。
第 4 页共 23 页注意:这个屏幕截图显示了JIRA企业版中的页面情况。
JIRA专业版不支持Workflow Schemes,因此在工作流的列表中没有’Schemes’一项。
5.在JIRA可以用不同方式来创建一个新的工作流:•在页面下方通过’Add New Workflow form’来创建一个空白的工作流。
1.在’名称’输入框中工作流的名称来标识您的新工作流。
2.(可选)在’描述’输入框中输入新工作流的描述信息。
3.点击’增加’按钮。
第 5 页共 23 页您的新工作流中含有一个步骤’Open’,该步骤有一个进入的工作流变迁:’Create’。
•通过点击’Copy’链接,拷贝已经存在的工作流(如果您准备新添加的工作流和已有的工作流类似,则可以此方法)4.在’名称’输入框中工作流的名称来标识您的新工作流。
5.(可选)在’描述’输入框中输入新工作流的描述信息。
6.点击’拷贝’按钮。
您新的工作流将会包含所拷贝的工作流的所有步骤和变迁。
6.一旦完成了一个新工作流的创建,您可能要编辑修改这个工作流(参加下面的介绍)。
完成之后在使用的时候需要激活工作流。
添加工作流步骤向工作流中添加一个新的步骤:1.以JIRA管理员帐户登录系统。
2.在JIRA的导航菜单上点击"管理" 链接,或者在JIRA的Dashboard上点击Administration box,如下图所示:3.在左手边的导航菜单中,找到’Global Settings’,点击’Workflow’链接。
4.在’View Workflows’界面上会显示出来。
点击您要添加步骤的工作流对应的’Step’操作链接。
5.‘Workflow Steps’界面会显示出来,显示出工作流包含的所有步骤,以及每一个步骤的’Linked Status’和’Outgoing Transitions’,如下图所示:第 6 页共 23 页第 7 页共 23 页在工作流步骤列表下面显示着’Add New Step’。
(注意:’添加新步骤’只会显示在处于非激活状态的工作流,因为处于激活状态的工作流不能被修改)。
6.在'Step Name' 字段,输入一个简短的步骤名称。
(建议使用相应状态的名字作为步骤名称。
)7.在'Linked Status' 字段,选择对应于此步骤的状态。
注意在一个工作流中,每一个状态只能对应于一个步骤,因此如果所有的状态都连接到工作流中的步骤,您就需要定义一个新的状态。
8.点击'Add' 按钮。
'Workflow Steps' 界面将在列表中显示出您新添加的步骤。
9.如果您要查看工作流中新添加的步骤的详细信息,则可以点击步骤名字。
在'View Workflow Step' 界面将会显示出这个步骤的如下信息:•Linked Status(如下面的界面截图显示出的'Open' 状态)。
•Incoming Transitions — 是指那些目标步骤是当前步骤的transitions。
用于将问题移动到当前步骤,至少要有一个incoming transition。
•Outgoing Transitions — 是指那些源自当前步骤的transitions。
用于将问题移出当前步骤,至少要有一个 outgoing transition。
在这个界面上您可以做如下操作:第 8 页共 23 页通过点击'Edit'链接来编辑步骤的名称或者链接的状态。
查看和编辑步骤的属性(参见下面的'Using step properties')。
通过点击transition名称来查看和编辑任何步骤的Incoming Transitions 或 Outgoing Transitions。
参见下面的 'Adding a condition', 'Adding a validator' 和'Adding a post function' 。
给一个步骤添加Outgoing Transition(参见下面的'Adding a transition')。
删除一个Outgoing Transition。
使用步骤属性您可以使用步骤属性来防止问题在特殊的工作流步骤中被编辑。
例如,在默认的JIRA 工作流中,问题处在'Closed' 步骤/状态时不能被编辑,即是用户有'Edit Issue' 的权限。
关于在特殊步骤中防止问题被编辑,请参见下面的步骤属性'jira.issue.editable' 设置:1.以JIRA管理员帐户登录系统。
:2.在JIRA的导航菜单上点击"管理" 链接,或者在JIRA的Dashboard上点击Administration box,如下图所示3.在JIRA系统管理界面左手边的导航菜单中,找到'Global Settings'点击其下面的'Workflows' 链接。
4.'View Workflows' 界面就会显示出来。
点击您希望的某个步骤不能被编辑的工作流对应的'Steps' 链接。