Change request creation with DevOps data retrieval errors
Summarize
Summary of Change request creation with DevOps data retrieval errors
This functionality allows ServiceNow customers to create change requests even when errors occur during the retrieval of DevOps data such as work items, commits, test summaries, or security summaries. It supports Azure DevOps, GitHub Actions, GitLab, Jenkins, and Harness pipelines. This behavior is controlled by theEnable change request creation even with errors in DevOps data retrievalproperty.
Show less
When enabled, change requests are created regardless of data retrieval errors, associating whatever data is successfully retrieved. Errors are documented both in the third-party DevOps console and within the change request’s work notes and step execution comments. If disabled, pipelines abort on any error and no change request is created.
Approval and Policy Handling
Change requests created with partial DevOps data have the ischangewithpartialdata policy input set to True, causing all change approval policies to require manual approval. This ensures approvers can verify the incomplete DevOps data before proceeding. The DevOps Gather Change Policy Data subflow uses this flag to determine policy application.
Pipeline UI Indications
When a change request is created with DevOps data retrieval errors, the pipeline UI highlights the error stage with a yellow card for easy identification.
Note that when a release pipeline triggers a build pipeline, data from the build pipeline may be associated with the change request even if errors occur, and in such cases, the partial data flag may not be set, affecting approval flows.
Callback Timeout and Pipeline Behavior
The system waits for inbound events during pipeline runs up to a timeout defined by the sndevops.changerequestcallbacktimeout property (default 120 minutes, minimum 60 minutes). If this timeout is exceeded, the pipeline is aborted and errors logged in both the third-party console and ServiceNow callback records.
For pipelines using GitHub, GitLab, or Harness custom change automation actions, polling intervals must be specified to synchronize change status updates between these tools and ServiceNow DevOps. If step notifications fail to reach ServiceNow, the change request is not created, and ServiceNow waits until the association is established or the timeout is reached. In this scenario, pipeline termination is controlled by the third-party tool’s default timeout, and ServiceNow cannot log the missed events in the third-party console.
Upgrade Impact
After upgrading to Yokohama release, the property to enable change request creation on errors is set to false by default. Pipelines will abort on retrieval errors as before, but customers can enable this property to allow change requests creation despite errors. This helps DevOps and change approvers maintain visibility of changes and partial DevOps data, improving tracking and decision-making.
Limitations
If the property is enabled and an Azure DevOps artifact package step fails, the change request is created without ADO artifacts, but the error is not logged in work notes, step execution comments, or the ADO console.
Create change requests even with errors in DevOps data retrieval.
Change request creation overview
You can create a change request with or without errors in DevOps data retrieval. This functionality can be controlled by the Enable change request creation even with errors in DevOps data retrieval property. When the Enable change request creation even with errors in DevOps data retrieval property is enabled, and an error occurs in retrieving DevOps data like work items, commits, test summaries, or security summaries, the corresponding change request is still created. The data that can be retrieved will still be associated with the change request. For the data that can’t be retrieved, the reason for the error will be notified to the user in the third-party console, and the same information will also be added in the Change Comments field in the Step Execution record and the change Worknotes.
If the Enable change request creation even with errors in DevOps data retrieval property isn’t enabled, a change request is created only when there’s no error in any step of a pipeline run. When an error occurs, the pipeline is aborted and the reason for the error is added in the inbound event's Processing details field, and the same is notified to the user in the third-party console.
For more information, see DevOps Change Velocity properties.
Approval for change requests with DevOps data retrieval errors
For change requests created with DevOps data retrieval errors, the is_change_with_partial_data policy input is set to True for all the change approval policies. Only a manual change approval decision is applied to such changes so that you can approve or reject the change after manually verifying the DevOps data in it. In the DevOps Gather Change Policy Data subflow, the Is change with partial data action determines whether a change is created with DevOps data retrieval errors or not.
Pipeline UI for change requests with DevOps data retrieval errors
When a change request gets created with DevOps data retrieval errors, the card specifying the stage where the error occurred will be displayed in the Yellow color.
Callback timeout
If an inbound event goes into the waiting state during a pipeline run, the system tries to process the change until the timeout value in the sn_devops.change _request_callback_timeout property is exceeded, after that the pipeline is aborted. The reason for the error is displayed in your third-party tool's console logs. When a pipeline is canceled because of callback timeout, the same information is added in the callback record of the corresponding step execution. You can contact your DevOps admin to increase the timeout value in the sn_devops.change_request_callback_timeout property. The default value of this property is 120 minutes, and the minimum value is 60 minutes. For more information, see DevOps Change Velocity properties.
Upgrade
After you upgrade, the property will be set to false by default. Your current change process will function as is, but the only difference you’ll see is that, when an error occurs in retrieving DevOps data the pipeline is aborted (instead of waiting indefinitely) and the reason for the error is added in the inbound event Processing details field, and the same is notified to the user in the third-party console. If you want to create change requests with errors in retrieving DevOps data and also not fail your pipeline, you can enable the Enable change request creation even with errors in DevOps data retrieval property. This provides value to your change approvers and AppDev teams by getting the changes created automatically with DevOps evidence that is gathered and appropriately notified in the change request work notes and third-party console logs with errors or data that may be missing.
Limitation
If the Enable change request creation even with errors in DevOps data retrieval property is enabled, and the ADO artifact package step in your pipeline results in error, the change will be created without ADO artifacts associated with it, but the corresponding error will not be notified in Worknotes, or Step Execution change comments, or in the ADO console log.