Configure state model transitions
You can use script includes or UI policies to configure state models and the criteria for moving change requests from one state to another.
Before you begin
Role required: script_include_admin, ui_policy_admin, or admin
Procedure
-
Complete the following steps to add state change criteria in a script include
that enables a state transition.
Note:Before editing a Script Include consider configuring state transitions through Change Models and Model State Transitions as it doesn't require scripting. For the configuration approach, see Create predefined transition condition types
You can configure state transitions in two ways:
- Configuration: Use Change Models and Model State Transitions to define transition conditions without scripting. This approach applies to most requirements.
- Script includes or UI policies: Use these methods when transition logic requires conditions that the configuration approach cannot express.
- Navigate to System Definitions > Script Includes.
-
Open the script include for the state transition model that you want to
edit.
State transition model Script include Normal ChangeRequestStateModel_normal Standard ChangeRequestStateModel_standard Emergency ChangeRequestStateModel_emergency -
Modify the appropriate method canMove method in
the script include.
For example, to add a condition for a normal change to transition from the New state to the Authorized state, modify the draft.authorized.canMove() method in the ChangeRequestStateModel_normal script include. In the script, the GlideRecord you are acting on can be referenced using the this._gr variable.
The canMove method is part of a structure that defines the transitions available to the change type. The canMove method is contained in the currentState.nextState.canMove() structure.
-
Complete the following steps to use a UI policy to add new criteria for state
transitions.
- Navigate to System UI > UI Policies.
-
Open a default UI policy to edit or select New to create a new policy.
The following are the default UI policies.
UI Policy Description Show CAB fields for normal and emergency changes from the Authorize state and onwards. Mandatory Assignment Group field. Mandatory Close notes and Code fields when in the Closed state. Note:In both of the mandatory UI policies, the state of the change request determines the mandatory fields. For Show - CAB fields, the type of change is also taken into account because standard changes do not require approval. - Complete and save the UI policy.