Get and update the change request details associated with an Azure DevOps pipeline.

Before you begin

Ensure that you meet the following prerequisites before you perform this procedure:
Role required:
  • admin or sn_devops.admin in DevOps Change Velocity
  • admin in Azure DevOps

About this task

When you update the state parameter in a change request, only the following transitions are supported:
  • cancel: Change request state must be implement to move the state to cancel. reason is a mandatory input to update the state to canceled.
  • closed: Change request state must be implement or post implement to move the state to close. close_code and close_notes are mandatory input to update the state to closed.

Specify the change request state as an integer value:

  • 4 - Cancel (Value set in the sn_devops.change_request.cancel_state property)
  • 3 - Closed (Value set in the sn_devops.change_request.closed_state property)

When you update a choice field, you must specify a valid choice value that is available in the corresponding choice list. For example, the choice list values for the Close code field are successful, successful_issues, and unsuccessful.

Choice values for the Close code field

Procedure

  1. In the Azure DevOps console, navigate to Organization > Pipelines > Jobs.
  2. Select the Add Tasks icon (Add additional tasks), and search for the ServiceNow extensions in the Add tasks search bar.
  3. Add the following extension tasks for get and update functions based on whether you are using a server or agent job.
    Get function
    • ServiceNow DevOps Server Get Change
    • ServiceNow DevOps Agent Get Change
    Update function
    • ServiceNow DevOps Server Update Change
    • ServiceNow DevOps Agent Update Change
  4. In the task, update the following input parameters based on the function you are using.
    Get function
    • Project Name
    • Pipeline Name
    • Stage Name
    • Job Name
    • Build ID
    • Attempt Number
    • Branch Name (only for multi-branch pipeline)
    Note: If you do not provide the change request details as input parameters, the change request number associated with the current pipeline and stage will be retrieved.

    Enter a reference name for the get change request task, which will be used to reference the change request number in the update task. See the following example.

    ServiceNow DevOps Agent Get Change task
    Update function
    • Change request number whose details need to be updated.
    • Change request attributes to be updated as Key:Value pairs.
    { "short_description": "Test description", "priority": "1", "start_date": "2021-02-05 08:00:00", 
    "end_date": "2022-04-05 08:00:00", "justification": "test justification", "description": "test description", 
    "cab_required": <true/false>, "comments": "This update for work notes is from ADO file", "work_notes": "test work notes", 
    "assignment_group": "<SYS_ID>", "state":"<STATE_CODE>", "close_code":"<successful/successful_issues/unsuccessful>", "reason":"<As per Choice List>" }
    ServiceNow DevOps Agent Update Change Details

    The changeRequestNumber value must be referenced using the get task reference name in the "<task_name>.<changeRequestNumber>" format. See the following example.

    Get and Update scripts for agent.Get and Update scripts for server.
    Note: Attempt number is optional. If not specified, the latest CHG number from the current pipeline execution is retrieved. Otherwise, you can explicitly specify the attempt number without using any environment variables.
  5. Save the changes.