TRANSITION XML 元素
Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018
使用 TRANSITION 元素为工作项类型指定从一种状态到另一种状态的有效进度或回归。 TRANSITION 元素是 TRANSITIONS 元素的必需子元素。
若要修改工作流,可修改工作项类型的定义。 请参阅 修改或添加自定义工作项类型。
语法
<TRANSITION from="NameOfStartingState" to="NameOfEndingState" for="UserGroupName" not="UserGroupName">
<ACTIONS> . . . </ACTIONS>
<REASONS> . . . </REASONS>
<FIELDS> . . . </FIELDS>
</TRANSITION>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
| 属性 | 说明 |
|---|---|
from |
必需。 工作项从其进行转换的状态的名称。 |
to |
必需。 工作项要转换到的状态的名称。 |
for |
Transition 属性。可选。 允许执行转换的用户或组的名称。 |
not |
Transition 属性。可选。 不允许执行转换的用户或组的名称。 |
注意
不支持使用 for 和 not 属性的规则Azure DevOps Services。
子元素
| 元素 | 说明 |
|---|---|
| 操作 | 可选。 定义元素的集合 ACTION , WorkItem.GetNextState 每个元素定义一个操作字符串,在调用 方法获取工作项的操作后状态时,可以使用该字符串。 |
| 原因 | 必需。 和 元素DEFAULTREASONREASON的集合,这些元素定义工作项完成转换的有效原因。 |
| FIELDS(工作流) | 可选。 一个 (FIELD 工作流) 引用为工作项类型定义的字段定义的元素。 |
父元素
| 元素 | 说明 |
|---|---|
| 转换 | 必需。 元素的集合 TRANSITION ,这些元素定义工作项类型的有效状态转换。 |
注解
TRANSITION 是 TRANSITIONS 的必需子元素。
必须只定义一个转换 from,以将工作项从 (=""") 移动到命名状态,例如"活动"。 此转换标识新工作项的默认状态。
必须指定两个状态之间的所有有效转换。 如果未指定转换,则默认情况下不允许进行转换。
此外,还可以选择在fornot工作流的转换元素中使用 属性和 来优化谁无法执行转换。 这样做时, denies 优先于 allows。 如果未指定这两个特性,则任何人都可以修改工作项。
只有创建父组并指定 元素中的父组,才支持多个 TRANSITION 组。 若要详细了解 for 和 not 属性,请参阅 规则和规则评估。
示例,定义原因
在下面的示例中,定义了从"活动"到"已解决 " 工作流 状态转换 的原因。
<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>
例如,限制转换
在下面的规则中,将工作项从"已解决"状态转换为"已完成"状态的能力仅限于所有项目测试人员,刚加入团队的新测试人员除外。
<TRANSITION from="Resolved" to="Complete" for="[project]\AllTesters" not="[project]\NewTesters">
</TRANSITION>
使用拉取请求自动完成工作项
将工作项链接到拉取请求 (PR) ,可以选择在成功完成 PR 后自动完成这些工作项。
注意
功能可用性: 合并后的完整 链接工作项选项在 TFS 2018 及更高版本中可用。
有关详细信息,请参阅工作流 状态 & 状态类别。