Migrate Process Instance

API Type

REST

HTTP Method

POST

Description

Migrates a process definition from one version to another version.

URL Format (On Premises)

https://[domain]:[port]/AgilePointServer/Workflow/MigrateProcInst/[processInstanceID]/[reserved]​

URL Format (AgilePoint for Azure)

https://[domain]:[port]/AgilePointService/Workflow/MigrateProcInst/[processInstanceID]/[reserved]​

Request Parameters

Name Description

processInstanceID

Definition:
Specifies the unique ID of a process instance.
Type
string
Allowed Values:
A valid process instance ID

reserved

Definition:
Reserved for future use.
Type
string
Allowed Values:
The literal string null.

You must pass this as a literal string at this time. This field will be used for other purposes in a later release.

Request Body Properties

Name Description

instruction

Definition:
Specifies the instructions for migrating a process to a new version.
Type
WFProcessMigrationInstruction
Allowed Values:
A WFProcessMigrationInstruction object.

IncludeXmlData

Definition:
Specifies whether a migration includes XML data.
Type
bool
Allowed Values:
  • True - The migration includes an XML data.
  • False - The migration does not include an XML data.

Action

Definition:
Specifies the migration action.
Type
MigrationAction
Allowed Values:
A valid migration action.

MatchingActivityDefinition

Definition:
Specifies information for activity migration.
Type
class
Allowed Values:
A valid class.

SourceProcessDefinitionID

Definition:
The ID of the original, or source, process definition.
Type
string
Allowed Values:
A valid process definition ID.

TargetProcessDefinitionID

Definition:
The ID of the target, or destination, process definition.
Type
string
Allowed Values:
A valid process definition ID.

JavaScript Code Example

$("#btnMigrateProcInst").click(function () {
  
 var JSONData = {"Action":"0",
    "IncludeXmlData":true,
    "MatchingActivityDefinitions":[{"CurrentActivated":true,
    "SourceName":"Manual.17",
    "TargetName":"Manual.17"},					       
    {"CurrentActivated":false,
    "SourceName":"MultipleCondition.26",
    "TargetName":"MultipleCondition.26"},
    {"CurrentActivated":false,
    "SourceName":"Manual.31",
    "TargetName":"Manual.31"},
    {"CurrentActivated":false,
    "SourceName":"Manual.63",
    "TargetName":"Manual.63"},							       
    {"CurrentActivated":false,
    "SourceName":"Email.72",
    "TargetName":"Email.72"}],
    "SourceProcessDefinitionID":"ABCCD0E07357412499AD79D58D596397",
    "TargetProcessDefinitionID":"CA204B2F3C894F058E3AEC22CA46F605"};
 
  $.ajax({
    url: 'https://mydomain:9011/AgilePointServer/Workflow/
                        MigrateProcInst/524DFF231F0547198D1D48C5EF25EF4A/null',
    data: JSON.stringify(JSONData)
  });

});

Java Code Example

public void MigrateProcInst(){
  String URI = "https://mydomain:9011/AgilePointServer/Workflow/MigrateProcInst";
  HTTPOperations ops = new HTTPOperations(domain, userName, 
                       password, appID, locale);
		
  JSONObject postData = new JSONObject();
  
			
    JSONObject activityDefinition1 = new JSONObject();
    activityDefinition1.put("CurrentActivated", "true");
    activityDefinition1.put("SourceName", "Manual.17");
    activityDefinition1.put("TargetName", "Manual.17");
    JSONObject activityDefinition2 = new JSONObject();
    activityDefinition2.put("CurrentActivated", "false");
    activityDefinition2.put("SourceName", "MultipleCondition.26");
    activityDefinition2.put("TargetName", "MultipleCondition.26");
    JSONObject activityDefinition3 = new JSONObject();
    activityDefinition3.put("CurrentActivated", "false");
    activityDefinition3.put("SourceName", "MultipleCondition.26");
    activityDefinition3.put("TargetName", "MultipleCondition.26");
    JSONObject activityDefinition4 = new JSONObject();
    activityDefinition4.put("CurrentActivated", "false");
    activityDefinition4.put("SourceName", "MultipleCondition.26");
    activityDefinition4.put("TargetName", "MultipleCondition.26");
    
    JSONArray activityDefinition = new JSONArray();
    activityDefinition.put(activityDefinition1);
    activityDefinition.put(activityDefinition2);
    activityDefinition.put(activityDefinition3);
    activityDefinition.put(activityDefinition4);
			
    postData.put("Action", "0");
    postData.put("IncludeXmlData","true");
    postData.put("MatchingActivityDefinitions", activityDefinition);
    postData.put("SourceProcessDefinitionID", "ABCCD0E07357412499AD79D58D596397");
    postData.put("TargetProcessDefinitionID", "CA204B2F3C894F058E3AEC22CA46F605");
			
    ops.POSTMethod(URI, postData.toString());
  
}

C# Code Example

public string MigrateProcInst()
  {
    string URL = "https://mydomain:9011/AgilePointServer/Workflow/
                  MigrateProcInst/524DFF231F0547198D1D48C5EF25EF4A/null";

    string jsonRequestdata = "{
      \"Action\":0,
      \"IncludeXmlData\":true,
      \"MatchingActivityDefinitions\":[{\"CurrentActivated\":true,
      \"SourceName\":\"Manual.17\",
      \"TargetName\":\"Manual.17\"}],
      \"SourceProcessDefinitionID\":\"ABCCD0E07357412499AD79D58D596397\",
      \"TargetProcessDefinitionID\":\"CA204B2F3C894F058E3AEC22CA46F605\"}";

    HTTPOperations ops = new HTTPOperations(domain, this.userName, 
                         password, appID, locale);

    return ops.POSTMethod(URL, jsonRequestdata);

  }

Output

None.

JSON Response Body Example

The response body is empty.

Supported Versions

AgilePoint BPMS v5.0 R2 and higher