所有 WORKFLOW XML 元素引用

Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018

本主题中提供的信息可用作有关控制工作项类型工作流的所有元素和主要特性的快速参考。 在元素容器中 WORKFLOW 指定这些元素,这是工作项类型定义的第二个主要部分。 可以使用 STATESTRANSITIONS 子元素来定义用户可以为工作项类型指定的不同状态,以及允许在状态之间切换。 有关如何定义这些元素的详细信息,请参阅 更改工作流

若要修改工作流,可修改工作项类型的定义。 请参阅 修改或添加自定义工作项类型

工作流示例

以下示例显示了 WORKFLOW 元素的整体结构。 指定用户可以首先在 STATES 容器中分配工作项类型的所有状态。 接下来,指定允许从一个状态到另一个状态的所有转换。 每个状态对应于 STATE 元素,每个转换对应于 TRANSITION 元素。 在每个 STATESTRANSITIONS 容器元素中,可以定义所需的任何序列中的状态和转换。

对于每个转换,可指定一组更改工作项状态的原因(包括一个默认原因)。 可以为每个状态、转换或原因分配值,并且可以使用 FIELD (Workflow) 元素对一个或多个字段的值设置条件。 此外,可以通过指定 ACTION 元素来触发在转换过程中发生的 操作

<WORKFLOW>  
<STATES>  
  <STATE value="Active">  
    <FIELDS> . . . </FIELDS>  
  </STATE>  
  <STATE value="Resolved">  
    <FIELDS> . . . </FIELDS>  
  </STATE>  
  <STATE value="Closed" />  
</STATES>  
<TRANSITIONS>  
  <TRANSITION from="" to="Active">  
    <REASONS>  
      <DEFAULTREASON value="New" />  
    </REASONS>  
    <FIELDS> . . . </FIELDS>  
  </TRANSITION>  
  <TRANSITION from="Active" to="Resolved">  
    <REASONS> . . . </REASONS>  
    <FIELDS> . . . </FIELDS>  
    <ACTIONS > . . . </ACTIONS >  
</TRANSITION>  
<TRANSITION from="Resolved" to="Closed">  
    <REASONS> . . . </REASONS>  
    <FIELDS> . . . </FIELDS>  
    <ACTIONS > . . . </ACTIONS >  
</TRANSITION>  
<TRANSITION from="Resolved" to="Active">  
    <REASONS> . . . </REASONS>  
    <FIELDS> . . . </FIELDS>  
</TRANSITION>  
<TRANSITION from="Active" to="Closed ">  
    <REASONS> . . . </REASONS>  
    <FIELDS> . . . </FIELDS>  
</TRANSITION>  
<TRANSITION from="Closed" to="Active">  
    <REASONS> . . . </REASONS>  
    <FIELDS> . . . </FIELDS>  
</TRANSITION>  
</TRANSITIONS>  
</WORKFLOW>  

语法结构

通过使用下表介绍的元素,可以指定团队成员可以对特定类型的工作项设置的状态。 在 WORKFLOW 定义的部分中,首先定义状态,然后定义转换。 有关详细信息,请参阅 更改工作流

元素

说明和语法

必需?

ACTION

定义与跟踪工作项的系统调用 WorkItem.GetNextState 方法以获取工作项的后操作状态时要执行的操作对应的文本字符串。

<ACTION value="NameOfAction" />

有关详细信息,请参阅 基于状态、转换或原因自动执行字段分配

可选

操作

定义 ACTION 元素的集合。

<ACTIONS>
<ACTION>. . . </ACTION>
</ACTIONS>

可选

DEFAULTREASON

定义团队成员将工作项从一个特定状态更改为另一个特定状态的最常见原因。

<DEFAULTREASON value="ValueOfDefaultReason">
<FIELDS>. . . </FIELDS>
</DEFAULTREASON>

必需

指定工作项类型的字段以及当团队成员更改该类型工作项的状态时应用于该字段的规则和条件,并指定进行更改的原因。

<FIELD refname="FieldReferenceName">
<ALLOWEDVALUES> . . . </ALLOWEDVALUES>
<ALLOWEXISTINGVALUE />
<CANNOTLOSEVALUE />
<COPY />
<DEFAULT />
<EMPTY />
<FROZEN />
<MATCH />
<NOTSAMEAS />
<PROHIBITEDVALUES /> . . . </PROHIBITEDVALUES>
<READONLY />
<SERVERDEFAULT />
<SUGGESTEDVALUES /> . . . </SUGGESTEDVALUES>
<VALIDUSER />
<WHEN>> . . . </WHEN>
<WHENNOT> . . . </WHENNOT>
<WHENCHANGED> . . . </WHENCHANGED>
<WHENNOTCHANGED> . . . </WHENNOTCHANGED>
<FIELD>

有关详细信息,请参阅 FIELD (Workflow) 元素参考

可选

领域

指定 FIELD 元素的集合。

<FIELDS>
<FIELD . . . </FIELD>
</FIELDS>

可选

原因

定义有关团队成员更改工作项状态的原因的其他说明。

<REASON value="NameOfReason">
<FIELDS>. . . </FIELDS>
</REASON>

可选

原因

一个 DEFAULTREASON 和可选 REASON 元素的集合,用于解释团队成员更改工作项的状态的原因。

<REASONS>
<DEFAULTREASON>. . . </DEFAULTREASON>
<REASON>. . . </REASON>
</REASONS>

状态

定义工作项类型的有效状态。 此元素可以包含 一个 FIELDS 元素,该元素引用在团队成员更改该类型的工作项状态时将应用于特定字段的规则和条件。

<STATE value="NameOfState">
<FIELDS>. . . </FIELDS>
</STATE>

必需

国家

指定 STATE 元素的集合,该元素定义用户可以向其分配该类型的工作项的有效状态。

<STATES>
<STATE>. . . </STATE>
</STATES>

必需

过渡

指定特定类型的工作项从一个状态到另一个状态的有效前进或倒退。

<TRANSITION from="NameOfStartingState" 
to="NameOfEndingState" 
for="UserOrGroupName"
not="UserOrGroupName">
<ACTIONS>. . . </ACTIONS>
<REASONS>. . . </REASONS>
<FIELDS>. . . </FIELDS>
</TRANSITION>

有关详细信息,请参阅 TRANSITION 元素

必需

转换

指定 TRANSITION 元素的集合。

<TRANSITIONS>
<TRANSITION>. . . </TRANSITION>
</TRANSITIONS>

必需

工作流

指定 STATESTRANSITIONS 容器元素的集合,这些元素共同定义工作项类型的工作流。

<WORKFLOW>
<STATES>. . . </STATES>
<TRANSITIONS>. . . </TRANSITIONS>
</WORKFLOW>

必需