所有 WORKFLOW XML 元素引用

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

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

工作流示例

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

对于每个转换,可指定一组更改工作项状态的原因(包括一个默认原因)。 可以为每个状态、转换或原因指定值,并且可以使用 FIELD(工作流)元素对一个或多个字段的值施加条件。 此外,还可以通过指定 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" />

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

可选

ACTIONS

定义 ACTION 元素的集合。

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

可选

DEFAULTREASON

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

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

必需

FIELD

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

<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(工作流)元素

可选

FIELDS

指定 FIELD 元素的集合。

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

可选

REASON

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

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

可选

REASONS

一个 DEFAULTREASON 和可选 REASON 元素的集合,这些元素说明团队成员更改工作项的状态的原因。

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

STATE

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

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

必需

STATES

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

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

必需

TRANSITION

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

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

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

必需

TRANSITIONS

指定 TRANSITION 元素的集合。

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

必需

WORKFLOW

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

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

必需

请参见

参考

FIELD(工作流)元素

概念

更改工作项类型的工作流