应用字段规则的时间和位置

可以使用字段规则确定工作项类型的行为,而不考虑工作项处于何种状态。 例如,在某个新的且处于活动状态的 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

限定字段规则的应用范围

通过在 STATETRANSITIONREASON 元素中使用 FIELDSFIELD(工作流)元素,可以指定字段规则的应用范围。

备注

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

示例

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

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

请参见

其他资源

定义和自定义工作项工作流