Rollback Pega deployment via API

Is there any out-of-the-box functionality from Pega platform (8.4 or higher) or Pega Cloud Deployment Manager Service that allows for a deployment Rollback to be performed via API?

I’m looking to trigger this Rollback action which is available via UI when Rejecting a manual step in Deployment Manager:

(Note: “Rollback?” text in the Current Task is a label set by me on a approval step, im strictly referring to the Rollback option in the red box)

I want to know:

  • Does Pega Deployment Manager Service have a way to trigger this Rollback functionality on a deployment via API?

if not then:

  • Is there any other suggested approach to trigger a deployment rollback via API (ex: SystemManagement Service Package)?

Thanks in advance,

Isra

@IsraelC8602 Deployment Manager does not provide a separate ootb Rollback REST endpoint you can call directly. Instead, put a manual approval task in the pipeline stage where you want rollback control. When that task is waiting, call the Deployment Manager REST API that is meant for sending inputs to pending tasks and submit a Reject with the rollback flag selected. Deployment Manager will then execute the rollback by restoring the system to the restore point created for that deployment step.

Hi Sairohith, thank you very much for reaching out.

I’m reviewing your suggestion but I can’t find the endpoint you refer to for “call the Deployment Manager REST API that is meant for sending inputs to pending tasks“. I see Deployment Manager API has the following endpoints for managing deployments:

  • {{baseUrl}}/deployments/(id)/abort - completely aborts the deployment, doesn’t reject it.
  • {{baseUrl}}/deployments/(id)/resume - returns error code 500 because deployment is not in paused state.
  • {{baseUrl}}/deployments/(id)/promote - returns error code 500 because deployment is not in pending state.
  • {{baseUrl}}/deployments/(id) - just returns general information about the deployment.

I couldn’t find an endpoint for sending inputs for pending tasks. Also consider my deployment is currently in status “Open-InProgress“ and this is how it looks like in the UI:

Deployment Manager has tasks related endpoints but I believe they are used to update the actual task information (example: change the name of a task on a pipeline), not to send parameters to a task on a given deployment.

Could you please share the endpoint resource, method and/or request body that this endpoint you mentioned uses?

Thank you in advance,

Isra