This documentation is archived and is not being maintained.

Scoping Field Rules by State, Transition, or Reason

Updated: June 2010

As described in Defining Work Item Workflow, you can use field rules to determine work item type behavior regardless of the state of the work item. For example, a field that is required for a bug that is new and active remains required until the bug is closed.

Field rules can also be scoped to certain states, transitions, and even reasons. The complete set of rules that apply to any particular field is additive from four subsets:

  • Work item type-specific

  • State-specific

  • Transition-specific

  • Reason-specific

Work item type-wide rules apply regardless of the location of a work item in its state model. For example, a <REQUIRED/> rule makes the following check:

"MyField Value" != NULL

State-specific rules are scoped to a work item instance when it is in a certain state. Checking for a state-specific rule is as follows.

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

Transition-specific rules are scoped to a work item that is undergoing a certain transition. Checking for a transition-specific rule is as follows.

State field value == "ToState"  &&

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

&& "MyField Value" != NULL

Reason-specific rules are scoped to a particular reason on a particular transition. Checking for reason-specific rules is as follows.

Reason field == "MyReason" &&

State field value == "ToState"  &&

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

You can apply scope to field rules by using <FIELDS> and <FIELD> elements within the <STATE>, <TRANSITION>, and <REASON> elements.


When you list fields in the workflow, specify only the field reference name.


The following example defines the following rule: When a bug is in the active state, do not allow the customer severity field to be modified.

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




June 2010

Corrected syntax format of an example.

Content bug fix.