按状态、转换或原因限定字段规则的应用范围

更新:2007 年 11 月

定义工作项工作流程 中所述,无论工作项的状态如何,您都可以使用字段规则来确定工作项类型的行为。例如,在某个新的且处于活动状态的 Bug 关闭之前,该 Bug 所需的字段一直是必需的。

字段规则的应用范围还可以限定为特定状态、特定转换,甚至是特定原因。应用于任何特定字段的完整规则集合是从以下四个子集中附加的:

  • 工作项类型特定

  • 状态特定

  • 转换特定

  • 原因特定

工作项类型特定规则

工作项类型范围规则的应用与工作项在其状态模型中的位置无关。例如,<REQUIRED/> 规则执行以下检查:

"MyField Value" != NULL

状态特定规则。

状态特定规则的应用范围限定为某个处于特定状态的工作项实例。状态特定规则的检查如下所示。

State field value == "MyState" && "MyField Value" != NULL

转换特定规则

转换特定规则的应用范围限定为某个正在进行特定转换的工作项。转换特定规则的检查如下所示。

State field value == "ToState"  &&

"Previous State Before Edit/New" == "FromState"

&& "MyField Value" != NULL

原因特定规则

原因特定规则的应用范围限定为特定转换中的某个特殊原因。原因特定规则的检查如下所示。

Reason field == "MyReason" &&

State field value == "ToState"  &&

"Previous State Before Edit/New" == "FromState" && "MyField Value" != NULL

限定字段规则的应用范围

可以通过在 <STATE>、<TRANSITION> 和 <REASON> 元素中使用 <FIELDS> 和 <FIELD> 元素向字段规则应用范围。

说明:

在工作流中列出字段时,请仅指定字段引用名称。

示例

下面的示例定义了如下规则:当 Bug 处于活动状态时,不允许修改客户严重级别字段。

<STATE name="Active">
<FIELDS>
<FIELD refname="MyCorp.Severity" />
<READONLY />
</FIELD>
</FIELDS>
</STATE>

请参见

其他资源

定义工作项工作流程