TRANSITION XML 元素
使用 TRANSITION 元素可指定某种类型的工作项从一个状态到另一个状态的有效前进或倒退。 TRANSITION 元素是 TRANSITIONS 元素的必需子元素。
若要修改工作流,可修改工作项类型的定义。 请参阅修改或添加自定义工作项类型 (WIT)。
架构层次结构
TRANSITION
<TRANSITION from="NameOfStartingState" to="NameOfEndingState" for="UserGroupName" not="UserGroupName"> <ACTIONS> . . . </ACTIONS> <REASONS> . . . </REASONS> <FIELDS> . . . </FIELDS> </TRANSITION>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
特性 |
描述 |
---|---|
from |
必需。 工作项从其进行转换的状态的名称。 |
to |
必需。 工作项要转换到的状态的名称。 |
for |
Transition 属性。 可选。 允许执行转换的用户或组的名称。 |
not |
Transition 属性。 可选。 不允许执行转换的用户或组的名称。 |
子元素
元素 |
描述 |
---|---|
可选。 定义 ACTION 元素的集合,其中每个元素都定义一个可以在调用 WorkItem.GetNextState 方法以获取工作项的操作后状态时使用的操作字符串。 |
|
必需。 定义工作项可以完成转换的有效原因的 DEFAULTREASON 和 REASON 元素的集合。 |
|
可选。 引用为工作项类型定义的字段定义的 FIELD(工作流)元素的集合。 |
父元素
元素 |
描述 |
---|---|
必需。 为工作项类型定义有效状态转换的 TRANSITION 元素的集合。 |
备注
TRANSITION 是 TRANSITIONS 的必需子元素。
必须恰好定义一个转换以将工作项从无内容 (from="") 移动到命名状态(如 Active)。 此转换标识新工作项的默认状态。
minOccurs="1"
maxOccurs="unbounded"
必须指定两个状态之间的所有有效转换。 如果未指定转换,则默认情况下不允许进行转换。
此外,还可以选择在工作流的转换元素中使用特性 for 和 not 来细化可以和不能执行转换的人员。 这样做时,denies 会优先于 allows。 如果未指定这两个特性,则任何人都可以修改工作项。
仅通过创建父组并在 TRANSITION 元素中指定该父组来支持多个组。 若要了解有关 for 和 not 特性的详细信息,请参阅将规则应用于工作项字段。
示例
在下面的示例中,针对从**“Active”到“Resolved”**工作流状态的转换定义了原因。
<TRANSITION from="Active" to="Resolved">
. . .
<REASONS>
<DEFAULTREASON value="Fixed"/>
<REASON value="Deferred"/>
<REASON value="Duplicate"/>
<REASON value="As Designed"/>
<REASON value="Unable to Reproduce"/>
<REASON value="Obsolete"/>
</REASONS>
. . .
</TRANSITION>
在下面的规则中,仅限所有项目测试人员(刚加入团队的新测试人员除外)才能将工作项从**“Resolved”转换为“Completed”**状态。
<TRANSITION from="Resolved" to="Complete" for="[project]\AllTesters" not="[project]\NewTesters">
</TRANSITION>