DevOps change models
Summarize
Summary of DevOps change models
DevOps Change Velocity introduces fit-for-purpose change models that provide greater flexibility than legacy ITIL-based workflows, enabling ServiceNow customers to tailor change processes to modern development practices. Instead of predefined Normal, Standard, and Emergency workflows, customers can use or create custom change models with specific states and transition rules optimized for their use cases.
Show less
The feature supports two base system DevOps change models—DevOps and DevOps Simplified—which are active by default. Change models can be selected in orchestration pipelines or configured in the Step form within ServiceNow. The property com.snc.changemanagement.changemodel.typecompatibility controls whether change requests are created based on change types, models, or both, allowing smooth migration from legacy processes.
Key Features
- Flexible change creation: Change requests can be created as model-based or type-based depending on the compatibility flag and pipeline configuration.
- Base system models: DevOps and DevOps Simplified models come with predefined states and flows for state transitions and change approvals.
- Customizable states and transitions: Customers can modify states like New, Assess, Authorize, Scheduled, Implement, Review, Closed, and Canceled, or create entirely new models.
- Record presets and pipeline inputs: Change request fields can be pre-filled based on record presets, pipeline inputs, or Step form configurations, with a clear precedence order to control data consistency.
- Automated and manual approvals: Change approval policies embedded in flows support auto-approval, auto-rejection, or manual approval, configurable per customer requirements.
- Callback integration: Change models support callback to third-party orchestration tools upon reaching implementation state(s), enabling synchronization between ServiceNow and external tools.
- Migration support: Existing pipelines can be updated to use change models via the DevOps Pipeline Migration to Change Models catalog item.
DevOps and DevOps Simplified Models
Both models include flows triggered at each state to manage transitions and approvals:
- DevOps model: Includes states like New, Assess, Authorize, Scheduled, Implement, Review, Closed, and Canceled. Approvals primarily occur in the Assess state with options for further customization.
- DevOps Simplified model: Streamlined states excluding Assess, with approvals handled during the Authorize state. Also customizable based on customer needs.
Policy inputs for approval decisions include factors such as regression test results, code security, coverage metrics, number of commits, incident counts, and overall risk, providing extensive control over automated approval logic.
Practical Considerations for ServiceNow Customers
- Type Compatibility Property: Set this system property to
falseto enforce model-based change requests and make the Change model field mandatory on the Step form. - Error Handling: If the property is
falseand pipeline inputs are inconsistent (e.g., passing a change type without a model), change request creation will fail. Proper configuration of models in pipelines or Step forms is essential. - Upgrade Path: After upgrading, existing type-based processes continue to work if the compatibility flag remains
true. New installations default to model-based change requests with the flag set tofalse. - Callback Behavior: Callbacks to third-party tools occur when a change request reaches the defined implementation state(s), ensuring orchestration pipelines remain synchronized with change progress.
- Customization: ServiceNow customers can tailor change approval policies and flows to match their unique DevOps processes, including adding automation or manual approval steps as needed.
Next Steps
- Review the base DevOps and DevOps Simplified change models and their state flows to understand standard process behavior.
- Configure the
typecompatibilitysystem property according to your desired approach—model-based or type-based change requests. - Update your orchestration pipeline Step forms to specify the appropriate change models or types, avoiding conflicts that cause errors.
- If migrating from legacy change processes, use the provided migration catalog item to update pipelines to leverage change models.
- Customize change approval policies to automate approvals or require manual intervention based on your organizational risk and compliance requirements.
- Define implementation states in your change models to enable proper callback integration with third-party orchestration tools.
DevOps Change Velocity enables you to use fit-for-purpose change models that allow better flexibility in defining change models or processes to reflect modern development practices.
DevOps Change model overview
Use fit-for-purpose change models with a suite of succinct flows and flow actions built in Flow Designer for specific use cases. Instead of using the legacy ITIL-based change processes that are predefined in change workflows (Normal, Standard, and Emergency), you can selectively transition to a wide range of models that are optimized for specific use cases. Change models can be created with states and rules that determine the transitions between the states. For information on change models, see .
You can use any of the base system change models including the DevOps or DevOps Simplified change models. To create a change request based on models, you can either configure the Model field in the Step form in ServiceNow, or pass the model sys_id or name in the change step from your orchestration pipeline.
Base system DevOps change models
Two change models, called DevOps and DevOps Simplified are included in the base system and are active by default for you to create a model based change request.
- Type compatibility flag
-
The type compatibility com.snc.change_management.change_model.type_compatibility property is used to determine what kind of change requests (type- or model-based) will be created. Navigate to System Properties > All Properties to set the value for this property. The default value of this property is False. This property enables change type compatibility for change models. When set to true, the change request can be created either as a type-based workflow or change models. When set to false, change request will be created only using change model.
The change request will be created based on the configuration combination as defined in the following tables when the property is set to true or false.
Table 1. When the type compatibility property is set to True Change attribute configured in the pipeline step in ServiceNow Change attribute passed in the pipeline Change attribute considered in change request creation Change model: <any selected change model> Neither model nor change type is passed. Model-based change request will be created Change model: <any selected change model> Type is passed. For example, Normal { "attributes": { "type": "normal" } }Type-based change request will be created Change model: <any selected change model> for example, Model 1. Different model is passed. For example, Model 2.{ "attributes": { "chg_model": { "name": "Model 2" } } }Change will be created based on Model 2 Change model: Not specified
Change type: <any selected change type>
Neither model nor change type is passed Type-based change request will be created Change type: <any selected change type> Model is passed. { "attributes": { "chg_model": { "name": "DevOps" } } }Model-based change request will be created Change type: <any selected change type>. For example, Normal Different type is passed. For example, Emergency.{ "attributes": { "type": "emergency" } }Change request will be created based on Emergency type. Table 2. When the type compatibility property is set to False Change attribute configured in the pipeline step in ServiceNow Change attribute passed in the pipeline Change attribute considered in change request creation Change model: <any selected change model> Neither model nor change type is passed Model-based change request will be created Change model: <any selected change model> Type is passed. For example, Normal { "attributes": { "type": "normal" } }Error Change request can’t be created because the type compatibility flag is disabled. Enable the type compatibility flag in system properties or configure the change model in the step record in ServiceNow or enter the appropriate change model sys id or name in the pipeline.
For information on resolving this error, see Common errors in DevOps Change Velocity.
Change model: <any selected change model> for example, Model 1. Different model is passed. For example, Model 2.{ "attributes": { "chg_model": { "name": "Model 2" } } }Change will be created based on Model 2 Change model: Not specified
Change type: <any selected change type>
Neither model nor change type is passed. Error Change request can’t be created because either the change type or change model isn’t configured for the pipeline.
For information on resolving this error, see Common errors in DevOps Change Velocity.
Change type: <any selected change type> Model is passed. { "attributes": { "chg_model": { "name": "DevOps" } } }Model-based change request will be created Change type: <any selected change type>. For example, Normal Different type is passed. For example, Emergency.{ "attributes": { "type": "emergency" } }Error Change request cannot be created because the type compatibility flag is disabled. Enable the type compatibility flag in system properties or configure the change model in the step record in ServiceNow or enter the appropriate change model sys id or name in the pipeline.
For information on resolving this error, see Common errors in DevOps Change Velocity.
- Configuration of DevOps models
-
The base system change models have the Implementation states field value as Implement, and the Record preset field is selected as Type=Normal by default. The model states available for the DevOps change model are New, Assess, Authorize, Scheduled, Implement, Review, Closed, and Canceled. And the model states available for the DevOps Simplified change model are New, Authorize, Scheduled, Implement, Review, Closed, and Canceled. Depending on your requirements, you can modify the change models and configure the states and transitions for your specific use case.
Figure 1. DevOps Change Model Figure 2. DevOps Simplified Change Model If you want to create your own model instead of using the base system DevOps models, see the instructions in the Create a Change model section.
You can use record presets to configure change details for your change model. Whenever a change is created, these values will be automatically set on the change. You can set a record preset for any change field that exists in the change request.
The following logic is considered for pre-filing the change details when creating a change request.- If you have configured change details in the record preset, then you can’t override this value by passing change details from the pipeline.
- If change details aren’t configured in the record preset, then the values passed from the pipeline is considered for pre-filing the details in the change request.
- If change details are neither configured in the record preset nor passed from the pipeline, then the values configured in the Step form in ServiceNow are considered.
Change details configured in record preset in ServiceNow Change details configured in Step form in ServiceNow Change details passed in the pipeline Change details pre-filled when change is created Assignment group: DevOps Report Assignment group: Not specified Assignment group: Not specified Assignment group will be pre-filled from the record preset in the change request Assignment group: Not configured Assignment group: Not specified Assignment group: DevOps Report Assignment group will be pre-filled from the pipeline in the change request Assignment group: Not configured Assignment group: DevOps Report Assignment group: Not specified Assignment group will be pre-filled from the Step form in the change request
DevOps Change model
The DevOps change model contains flows in the base system for state transition and change approvals. Each state in the DevOps model has its own flows and each flow will get triggered when the required conditions are met. Change approval (auto or manual) is based on the DevOps Model Change Policy. By default, the base system DevOps Model Change Policy only has the manual approval decision activated. When you are ready for more approval automation, you can modify the policy. The following flows explain the state transition and change approval behavior.- Change - DevOps - New: When the change request is created in the New state, this flow gets triggered. If it has an Assignment Group, then this flow updates the change state to Assess.
- Change - DevOps - Assess: When the change request is in the Assess state, this flow gets triggered. There are two key actions in this flow - DevOps Gather Change Policy Data and Apply Change Approval Policy, which are used to
retrieve the DevOps data associated with the change request and check whether the change request must be auto approved, auto rejected, or sent for manual approval. The change approval (auto or manual) happens as part of this flow
in the Apply Change Approval Policy action based on the DevOps Model Change Policy. If the change is approved (auto or manual), it moves to the Authorize state. If the change is rejected, an email notification is sent to the user
who requested the change and the change is moved back to the New state.
- Change - DevOps - Authorize: When the change request is in the Authorize state, this flow gets triggered. In the base system, you will notice that there are two key actions - DevOps Gather Change Policy Data and Apply Change
Approval Policy, which are used to retrieve the DevOps data associated with the change request and check whether the change request must be auto approved, auto rejected, or sent for manual approval. The conditions in the DevOps
Model Change Policy in the Apply Change Approval Policy action won't be met. So the change approval (auto or manual) in this flow will be skipped. This flow will only move the change request state to Scheduled that triggers the
Change - DevOps - Schedule flow. Note:If your change process requires another approval, you can refer to this flow and customize the DevOps Model Change Policy according to your requirements.
- Change - DevOps - Schedule: When the change request is in the Scheduled state, this flow gets triggered. When the planned start date is reached, the change is moved to the Implement state.
- Change - DevOps - Implement: When the change request is in the Implement state, this flow gets triggered.
- is_change_with_partial_data
- regression_tests_failed
- code_security
- code_coverage
- total_num_of_commits
- tests_passing_percent
- load_tests_failed
- num_of_open_incidents
- num_of_outages_in_last_7_days
- num_of_current_outages
- integration_tests_failed
- commits_without_work_item
- change_request
- risk
- Auto approval: If the conditions specified in the policy are met, the change request is automatically approved.
- Auto reject: If one or more of the conditions specified in the policy are not met, the change request is automatically rejected.
- Manual approval: If one or more conditions need manual approval by a user or group, that is specified in the policy. Notifications are sent by the policy to the relevant users or groups to expedite the manual approval and
progress the change request.Note:By default, the base system DevOps Model Change Policy only has the manual approval decision activated.
DevOps Simplified model
- Change - DevOps Simplified - New: When the change request is created in the New state, this flow gets triggered. If it has an Assignment Group, then this flow updates the change state to Assess.
- Change - DevOps Simplified - Authorize: When the change request is in the Authorize state, this flow gets triggered. There are two key actions in this flow - DevOps Gather Change Policy Data and Apply Change Approval Policy,
which are used to retrieve the DevOps data associated with the change request and check whether the change request must be auto approved, auto rejected, or sent for manual approval. The change approval (auto or manual) happens
as part of this flow in the Apply Change Approval Policy action based on the DevOps Simplified Model Change Policy. If the change is approved (auto or manual), it moves to the Schedule state. If the change is rejected, an email
notification is sent to the user who requested the change and the change is moved back to the New
state. Note:If your change process requires another approval, you can refer to this flow and customize the DevOps Simplified Model Change Policy according to your requirements.
- Change - DevOps Simplified- Schedule: When the change request is in the Scheduled state, this flow gets triggered. When the planned start date is reached, the change is moved to the Implement state.
- Change - DevOps Simplified - Implement: When the change request is in the Implement state, this flow gets triggered.
- is_change_with_partial_data
- regression_tests_failed
- code_security
- code_coverage
- total_num_of_commits
- tests_passing_percent
- load_tests_failed
- num_of_open_incidents
- num_of_outages_in_last_7_days
- num_of_current_outages
- integration_tests_failed
- commits_without_work_item
- change_request
- risk
- Auto approval: If the conditions specified in the policy are met, the change request is automatically approved.
- Auto reject: If one or more of the conditions specified in the policy are not met, the change request is automatically rejected.
- Manual approval: If one or more conditions need manual approval by a user or group, that is specified in the policy. Notifications are sent by the policy to the relevant users or groups to expedite the manual approval and
progress the change request.Note:By default, the base system DevOps Simplified Model Change Policy only has the manual approval decision activated.
Callback to resume the pipeline
- The implementation states is used to send a callback to the third-party orchestration tool. If only one implementation state is present in the change model, then an absolute comparison is made. When the change created by a
change model reaches the implementation state that is set, a call back is sent to the third-party orchestration tool.Note:In change models, the Implementation states field can have one or more states. You can define the implementation states for each change model. For more information, see Legacy: State model and transitions.
- If multiple implementation states are present in the change model, a call back is sent to the third-party orchestration tool in the state where implementation state is reached first.
- If there’s no implementation state set on the change model, then the model states are checked for the Implement state. If the Implement state is present, then that is considered for call back to the third-party orchestration tool. If there’s no implement state in the model states as well, then the value present in the sn_devops.change_request.implement_state property is considered. The value of the system property is -1 by default, which is the implement state.
After upgrade
- The Change model field will be displayed in the Step form. This won’t impact your existing type-based change creation process as the type compatibility property (com.snc.change_management.change_model.type_compatibility) is true.
- If you want to have a model-based change request, set the type compatibility property to false. The Change model field in the Step form will be required. For information on configuration combination based on the property, see the table When the type compatibility property is set to False.
| New or upgrade instance | Type compatibility flag | Model or Type | State transition flows | Auto change approval flows | Callback to 3rd party |
|---|---|---|---|---|---|
| zboot (new or existing zbooted) | false | DevOps model |
|
In the base system, change approval (auto or manual) happens through the Change request - DevOps - Assess flow. If you want another level of approval, you can refer to the Change request - DevOps - Authorize flow and customize the DevOps Model Change Policy accordingly. | See the Note in the Callback section. |
| Upgrade | false | DevOps model |
|
In the base system, change approval (auto or manual) happens through the Change request - DevOps - Assess flow. If you want another level of approval, you can refer to the Change request - DevOps - Authorize flow and customize the DevOps Model Change Policy accordingly. | See the Note in the Callback section. |
| zboot (new or existing zbooted) | false | DevOps Simplified model |
|
In the base system, change approval (auto or manual) happens through the Change request - DevOps - Authorize flow. If you want another level of approval, you can customize the DevOps Simplified Model Change Policy accordingly. | See the Note in the Callback section. |
| Upgrade | false | DevOps Simplified model |
|
In the base system, change approval (auto or manual) happens through the Change request - DevOps - Authorize flow. If you want another level of approval, you can customize the DevOps Simplified Model Change Policy accordingly. | See the Note in the Callback section. |
| Upgrade | true | Type | Current behavior is continued | DevOps Change Request Manual Approval, or DevOps Change Request Minimal Automation Approval, or DevOps Change Request Advanced Automation Approval flows (whichever flow is active) | Change Control Callback flows |