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 属性。

可选。 不允许执行转换的用户或组的名称。

注意

不支持使用 fornot 属性的规则Azure DevOps Services。

子元素

元素 说明
操作 可选。 定义元素的集合 ACTIONWorkItem.GetNextState 每个元素定义一个操作字符串,在调用 方法获取工作项的操作后状态时,可以使用该字符串。
原因 必需。 和 元素DEFAULTREASONREASON的集合,这些元素定义工作项完成转换的有效原因。
FIELDS(工作流) 可选。 一个 (FIELD 工作流) 引用为工作项类型定义的字段定义的元素。

父元素

元素 说明
转换 必需。 元素的集合 TRANSITION ,这些元素定义工作项类型的有效状态转换。

注解

TRANSITIONTRANSITIONS 的必需子元素。

必须只定义一个转换 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 及更高版本中可用。

有关详细信息,请参阅工作流 状态 & 状态类别