Delen via


TRANSITION XML element

You use the TRANSITION element to specify a valid progression or regression from one state to another for a type of work item. The TRANSITION element is a required child element of the TRANSITIONS element.

To modify the workflow, you modify the definition for a work item type. See Modify or add a custom work item type (WIT).

Schema Hierarchy

WITD

    WORKITEMTYPE

        WORKFLOW

            TRANSITIONS

                TRANSITION

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

Attributes and Elements

The following sections describe attributes, child elements, and parent elements.

Attributes

Attribute

Description

from

Required. The name of the state from which the work item is transitioning.

to

Required. The name of the state to which the work item is transitioning.

for

Transition attribute.

Optional. The name of a user or group who is allowed to perform the transition.

not

Transition attribute.

Optional. The name of a user or group who is restricted from performing the transition.

Child Elements

Element

Description

ACTIONS

Optional. Defines a collection of ACTION elements that each define an action string that can be used when calling the WorkItem.GetNextState method to get the post-action state of the work item.

REASONS

Required. A collection of DEFAULTREASON and REASON elements that define valid reasons the work item can complete the transition.

FIELDS (Workflow)

Optional. A collection of FIELD (Workflow) elements that reference the field definitions that are defined for the type of work item.

Parent Elements

Element

Description

TRANSITIONS

Required. A collection of TRANSITION elements that define the valid state transitions for the work item type.

Remarks

TRANSITION is a required child element of TRANSITIONS.

You must define exactly one transition to move the work item from nothing (from="") to a named state such as Active. This transition identifies the default state for a new work item.

minOccurs="1"

maxOccurs="unbounded"

All valid transitions between two states must be specified. If no transition is specified, then by default no transition is allowed.

Additionally, you can optionally use the attributes for and not in the transition element of workflow to refine who is and who is not able to perform a transition. When you do this, denies takes precedence over allows. If neither of these attributes is specified, anyone can modify the work item.

Multiple groups are supported only by creating a parent group and specifying that parent group in the TRANSITION element. To learn more about the for and not attributes, see Apply a rule to a work item field.

Example

In the following example, the reasons are defined for the transition from the Active to the Resolved workflow state.

<TRANSITION from="Active" to="Resolved">
   . . .
   <REASONS>
      <DEFAULTREASON value="Fixed"/>
      <REASON value="Deferred"/>
      <REASON value="Duplicate"/>
      <REASON value="As Designed"/>
      <REASON value="Unable to Reproduce"/>
      <REASON value="Obsolete"/>
   </REASONS>
   . . .
</TRANSITION>

In the following rule, the ability to transition a work item from the Resolved to the Completed state is restricted to all project testers, except for new testers who have just joined the team.

<TRANSITION from="Resolved" to="Complete" for="[project]\AllTesters" not="[project]\NewTesters">
</TRANSITION>

See Also

Concepts

Change the workflow for a work item type