状态转变
启用了工作流的跟踪器提供“状态转变”,此类跟踪器可用于为跟踪器项定义有限状态机
这样便可控制跟踪器项的生命周期 (或业务流程) 和关联的工作流。
客户或测试工程师可以将事项输入到跟踪器中,系统会自动通知属于某一角色的一名开发人员或所有开发人员。开发人员可以解决事项,将源代码变更与事项关联,并将事项状况设置为已修复。通常,要将源代码变更与事项关联,需将提交与事项关联。团队成员的项目角色决定他们在此过程中收到哪些通知。
状态
状态包含跟踪器项的所有字段值或属性值。
跟踪器项的当前状态由“状况”字段的值定义。
状态转变是“状况”字段值的变更。
跟踪器项的状态 “状况”字段的定义值 (选择选项):
“任务”类型的跟踪器的默认状况选项如下:
上图所示状况选项的顺序反映了这些状况在跟踪器项生命周期中所处的位置。
状态转变
“状况”字段值的变更称为状态转变
如果为跟踪器启用了工作流,则允许在定义状态转变 (即从旧状况到新状况) 且当前用户有权执行此状态转变时,进行状况变更。
如果没有为跟踪器启用工作流,则跟踪器项仍具有状况,但无法控制允许哪些状况变更以及哪些用户可以进行这些状况变更。
跟踪器项允许的状态转变在跟踪器配置界面的“状态转变”选项卡中定义。例如:
可通过选中“显示已弃用状况”复选框,查看所有状态。
如果状态为已弃用,名称将包含后缀“已弃用”
状态转变 也将可视化为状态图
要定义新的状态转变,可以从“状态转变”表格底部的“更多”列表中选择“状态转变”选项。或者,可以通过单击工作流图中的转变线条,创建新的状态转变。随后显示下面的界面,您可以在其中输入转变规范:
必须指定转变的“自”“至”状况:
由于转变是状况变更,“自”“至”状况必须不同。
每个跟踪器只能有一个“自”“至”状况相同的转变。
“自”状况有以下两个特殊的值:
--:此值表示跟踪器项处于“未知”/“未定义”/“不存在”状况。
***:此值表示跟踪器项处于 (除“至”状况以外的) 任意状况。
应有一个从“未定义/--”到“已定义/初始”状况的状态转变!
这是初始状态转变,用于控制新跟踪器项的创建过程:
所有新创建的项都将具有指定的初始状况。
只有具有初始状态转变权限的用户才能创建新项。
这些用户还必须具有跟踪器的“项 - 添加”权限。
如果没有任何初始状态转变,则不允许创建跟踪器项!
* 
由于继承原因,可以定义多个从“未定义/--”到不同状态的 (模糊) 状态转变。在这种情况下:
新创建的项最终将处于未定义状况 (“未定义/--”)。
状态转变还具有以下字段:
“名称”:名称为必填字段。可以存在多个同名转变。
“说明”:在此,可以为进入转变的用户输入相关说明。
“允许”:用于定义哪些参与者 (例如项的提交者或工作负责人) 和角色 (例如具有开发人员角色的成员) 有权执行状况变更。
“条件”:用于定义要应用此转变的跟踪器项。
“防护”:守护程序,只有在主题跟踪器项符合特定条件的情况下,该守护程序才允许执行转变。
“操作”:要应用于此转变的工作流操作
可以隐藏状态转变,使它们不出现在工作流或“状态转变”选项卡中,但它们是有效的状况变更。
隐藏的转变的名称显示为灰色而不是蓝色。
要编辑现有状态转变,请单击转变名称,或从上下文菜单中选取“编辑”
要删除定义的状态转变,请从上下文菜单中选取“删除”
转变条件
可以通过设置转变条件来定义要应用转变的跟踪器项。
一个默认条件是“表达式”
通过该条件,可以定义表达式 (请参阅已计算的字段),无论是否将转变应用于项,都会根据跟踪器项对表达式进行求值,且求得的结果必须为 true 或 false。
例如,如果项的“故事点”字段的值小于 7 (如下所示),则仅允许执行此转变:
storyPoints < 7
另一个默认条件是“导引回上一主题项状况”,只有在状况返回到项的先前状况的情况下,才允许执行此转变。您可能需要将此条件用于从特殊暂停使用状况进行的转变 (其中有多个转变会进入此状况,而有多个转变会脱离此状况),并且您需要将流出的转变限制为只有在转变反向进入此状况时才适用。
如果需要的条件超出表达式语言功能,则需要考虑其他上下文信息,例如需要使用 HttpServletRequest 来检查区域、区域设置或用户代理。
转变防护
每个转变均可与防护关联,只有在主题跟踪器项符合特定条件的情况下,防护才允许执行转变。
转变防护是一种跟踪器视图,系统将根据作为状态转变主题的跟踪器项,对转变防护的条件进行求值。
“防护”选择器会显示当前上下文中的所有可用跟踪器视图。
如果尚不存在合适的防护,可以通过单击“防护”列表右侧的“添加”链接,创建一个新防护。
例如,从流程 (工作项) 为子流程创建分叉中名为 "All approvals are finished and accepted" 的防护。
新防护将存储为表格类型的跟踪器视图,其中包含已配置的“条件”、默认列和排序。
可通过单击“编辑”链接编辑当前选定的防护。
Codebeamer 9.4.0 版本起,也可以使用待查的引用防护:
具有待查链接
具有上游待查链接
具有下游待查链接
* 
防护对存储的字段值进行求值,这些值可能与用户界面上呈现的值有所不同。例如,将 Wiki 内容存储为其标记代码,其中可能包含格式和转义字符。在定义防护条件时必须考虑这一点。
转变操作
自 Codebeamer 7.8 版本起,可将多个工作流操作与状态转变相关联。
要从旧版 Codebeamer 中更新的字段现在也是操作:
* 
Codebeamer 7.8 或更新版本不再支持 Codebeamer 7.8 之前的旧版本中用来实施 StateTransitionAction 或基于 DefaultWorkflowListener 的操作!
任何通过 ~/CB-.../tomcat/webapps/cb/WEB-INF/classes/my-applicationContext.xml 部署此类旧操作的尝试都会导致 Codebeamer 启动失败。
如果已开发出自定义操作,则应先检查以下新参数化工作流操作之一是否可用于此任务:
只有在不存在此类操作时,才能尝试迁移自定义操作。有关说明,请访问这里
这对您有帮助吗?