Execute Migration Plan

Execute a migration plan synchronously for multiple process instances. To execute a migration plan asynchronously, use POST /migration/executeAsync.

For more information about the difference between synchronous and asynchronous execution of a migration plan, please refer to the related section of the user guide.

Method

POST /migration/execute

Parameters

Request Body

A JSON object with the following properties:

Name Description
migrationPlan The migration plan to execute. A JSON object corresponding to the migration plan interface in the engine as explained below.
processInstanceIds A list of process instance ids to migrate.
processInstanceQuery A process instance query like the request body described by POST /process-instance .
skipCustomListeners A boolean value to control whether execution listeners should be invoked during migration.
skipIoMappings A boolean value to control whether input/output mappings should be executed during migration.

The migration plan JSON object has the following properties:

Name Description
sourceProcessDefinitionId The id of the source process definition for the migration.
targetProcessDefinitionId The id of the target process definition for the migration.
instructions A list of migration instructions which map equal activities. Each migration instruction is a JSON object with the following properties:
Name Value Description
sourceActivityIds Array The activity ids from the source process definition being mapped.
targetActivityIds Array The activity ids from the target process definition being mapped.
updateEventTrigger Boolean Configuration flag whether event triggers defined are going to be update during migration.

Result

This method returns no content.

Response codes

Code Media type Description
204 Request successful.
400 application/json The provided migration plan is not valid, so an exception of type MigrationPlanValidationException is returned. See the Introduction for the error response format.
400 application/json The provided migration plan is not valid for a specific process instance it is applied to, so an exception of type MigrationInstructionInstanceValidationException is returned. See the Introduction for the error response format.
400 application/json In case additional parameters of the request are unexpected, an exception of type InvalidRequestException is returned. See the Introduction for the error response format.

Example

Request

POST /migration/execute

Request Body:

{
  "migrationPlan": {
    "sourceProcessDefinitionId": "aProcessDefinitionId1",
    "targetProcessDefinitionId": "aProcessDefinitionId2",
    "instructions": [
      {
        "sourceActivityIds": ["aUserTask"],
        "targetActivityIds": ["aUserTask"]
      },
      {
        "sourceActivityIds": ["anEvent"],
        "targetActivityIds": ["anotherEvent"],
        "updateEventTrigger": true
      }
    ]
  },
  "processInstanceIds": [
    "aProcessInstance",
    "anotherProcessInstance"
  ],
  "processInstanceQuery": {
    "processDefinitionId": "aProcessDefinitionId1"
  },
  "skipCustomListeners": true
}

Response

Status 204. No content.

On this Page: