curl --request POST \
--url http://{host}:{port}/{contextPath}/modification/execute \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"processDefinitionId": "aProcessDefinitionId",
"instructions": [
{
"type": "startAfterActivity",
"activityId": "aUserTask"
},
{
"type": "cancel",
"activityId": "anotherTask",
"cancelCurrentActiveActivityInstances": true
}
],
"processInstanceIds": [
"aProcessInstance",
"anotherProcessInstance"
],
"processInstanceQuery": {
"processDefinitionId": "aProcessDefinitionId"
},
"skipCustomListeners": true,
"annotation": "Modified to resolve an error."
}
'import requests
url = "http://{host}:{port}/{contextPath}/modification/execute"
payload = {
"processDefinitionId": "aProcessDefinitionId",
"instructions": [
{
"type": "startAfterActivity",
"activityId": "aUserTask"
},
{
"type": "cancel",
"activityId": "anotherTask",
"cancelCurrentActiveActivityInstances": True
}
],
"processInstanceIds": ["aProcessInstance", "anotherProcessInstance"],
"processInstanceQuery": { "processDefinitionId": "aProcessDefinitionId" },
"skipCustomListeners": True,
"annotation": "Modified to resolve an error."
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
processDefinitionId: 'aProcessDefinitionId',
instructions: [
{type: 'startAfterActivity', activityId: 'aUserTask'},
{
type: 'cancel',
activityId: 'anotherTask',
cancelCurrentActiveActivityInstances: true
}
],
processInstanceIds: ['aProcessInstance', 'anotherProcessInstance'],
processInstanceQuery: {processDefinitionId: 'aProcessDefinitionId'},
skipCustomListeners: true,
annotation: 'Modified to resolve an error.'
})
};
fetch('http://{host}:{port}/{contextPath}/modification/execute', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "62437",
CURLOPT_URL => "http://{host}:{port}/{contextPath}/modification/execute",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'processDefinitionId' => 'aProcessDefinitionId',
'instructions' => [
[
'type' => 'startAfterActivity',
'activityId' => 'aUserTask'
],
[
'type' => 'cancel',
'activityId' => 'anotherTask',
'cancelCurrentActiveActivityInstances' => true
]
],
'processInstanceIds' => [
'aProcessInstance',
'anotherProcessInstance'
],
'processInstanceQuery' => [
'processDefinitionId' => 'aProcessDefinitionId'
],
'skipCustomListeners' => true,
'annotation' => 'Modified to resolve an error.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://{host}:{port}/{contextPath}/modification/execute"
payload := strings.NewReader("{\n \"processDefinitionId\": \"aProcessDefinitionId\",\n \"instructions\": [\n {\n \"type\": \"startAfterActivity\",\n \"activityId\": \"aUserTask\"\n },\n {\n \"type\": \"cancel\",\n \"activityId\": \"anotherTask\",\n \"cancelCurrentActiveActivityInstances\": true\n }\n ],\n \"processInstanceIds\": [\n \"aProcessInstance\",\n \"anotherProcessInstance\"\n ],\n \"processInstanceQuery\": {\n \"processDefinitionId\": \"aProcessDefinitionId\"\n },\n \"skipCustomListeners\": true,\n \"annotation\": \"Modified to resolve an error.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://{host}:{port}/{contextPath}/modification/execute")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"processDefinitionId\": \"aProcessDefinitionId\",\n \"instructions\": [\n {\n \"type\": \"startAfterActivity\",\n \"activityId\": \"aUserTask\"\n },\n {\n \"type\": \"cancel\",\n \"activityId\": \"anotherTask\",\n \"cancelCurrentActiveActivityInstances\": true\n }\n ],\n \"processInstanceIds\": [\n \"aProcessInstance\",\n \"anotherProcessInstance\"\n ],\n \"processInstanceQuery\": {\n \"processDefinitionId\": \"aProcessDefinitionId\"\n },\n \"skipCustomListeners\": true,\n \"annotation\": \"Modified to resolve an error.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://{host}:{port}/{contextPath}/modification/execute")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"processDefinitionId\": \"aProcessDefinitionId\",\n \"instructions\": [\n {\n \"type\": \"startAfterActivity\",\n \"activityId\": \"aUserTask\"\n },\n {\n \"type\": \"cancel\",\n \"activityId\": \"anotherTask\",\n \"cancelCurrentActiveActivityInstances\": true\n }\n ],\n \"processInstanceIds\": [\n \"aProcessInstance\",\n \"anotherProcessInstance\"\n ],\n \"processInstanceQuery\": {\n \"processDefinitionId\": \"aProcessDefinitionId\"\n },\n \"skipCustomListeners\": true,\n \"annotation\": \"Modified to resolve an error.\"\n}"
response = http.request(request)
puts response.read_body{
"type": "<string>",
"message": "<string>",
"code": 123
}执行修改
Executes a modification synchronously for multiple process instances. To modify a single process instance, use the Modify Process Instance Execution State method. To execute a modification asynchronously, use the Execute Modification Async (Batch) method.
For more information about the difference between synchronous and asynchronous execution of a modification, please refer to the related section of the user guide.
curl --request POST \
--url http://{host}:{port}/{contextPath}/modification/execute \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"processDefinitionId": "aProcessDefinitionId",
"instructions": [
{
"type": "startAfterActivity",
"activityId": "aUserTask"
},
{
"type": "cancel",
"activityId": "anotherTask",
"cancelCurrentActiveActivityInstances": true
}
],
"processInstanceIds": [
"aProcessInstance",
"anotherProcessInstance"
],
"processInstanceQuery": {
"processDefinitionId": "aProcessDefinitionId"
},
"skipCustomListeners": true,
"annotation": "Modified to resolve an error."
}
'import requests
url = "http://{host}:{port}/{contextPath}/modification/execute"
payload = {
"processDefinitionId": "aProcessDefinitionId",
"instructions": [
{
"type": "startAfterActivity",
"activityId": "aUserTask"
},
{
"type": "cancel",
"activityId": "anotherTask",
"cancelCurrentActiveActivityInstances": True
}
],
"processInstanceIds": ["aProcessInstance", "anotherProcessInstance"],
"processInstanceQuery": { "processDefinitionId": "aProcessDefinitionId" },
"skipCustomListeners": True,
"annotation": "Modified to resolve an error."
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
processDefinitionId: 'aProcessDefinitionId',
instructions: [
{type: 'startAfterActivity', activityId: 'aUserTask'},
{
type: 'cancel',
activityId: 'anotherTask',
cancelCurrentActiveActivityInstances: true
}
],
processInstanceIds: ['aProcessInstance', 'anotherProcessInstance'],
processInstanceQuery: {processDefinitionId: 'aProcessDefinitionId'},
skipCustomListeners: true,
annotation: 'Modified to resolve an error.'
})
};
fetch('http://{host}:{port}/{contextPath}/modification/execute', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "62437",
CURLOPT_URL => "http://{host}:{port}/{contextPath}/modification/execute",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'processDefinitionId' => 'aProcessDefinitionId',
'instructions' => [
[
'type' => 'startAfterActivity',
'activityId' => 'aUserTask'
],
[
'type' => 'cancel',
'activityId' => 'anotherTask',
'cancelCurrentActiveActivityInstances' => true
]
],
'processInstanceIds' => [
'aProcessInstance',
'anotherProcessInstance'
],
'processInstanceQuery' => [
'processDefinitionId' => 'aProcessDefinitionId'
],
'skipCustomListeners' => true,
'annotation' => 'Modified to resolve an error.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://{host}:{port}/{contextPath}/modification/execute"
payload := strings.NewReader("{\n \"processDefinitionId\": \"aProcessDefinitionId\",\n \"instructions\": [\n {\n \"type\": \"startAfterActivity\",\n \"activityId\": \"aUserTask\"\n },\n {\n \"type\": \"cancel\",\n \"activityId\": \"anotherTask\",\n \"cancelCurrentActiveActivityInstances\": true\n }\n ],\n \"processInstanceIds\": [\n \"aProcessInstance\",\n \"anotherProcessInstance\"\n ],\n \"processInstanceQuery\": {\n \"processDefinitionId\": \"aProcessDefinitionId\"\n },\n \"skipCustomListeners\": true,\n \"annotation\": \"Modified to resolve an error.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://{host}:{port}/{contextPath}/modification/execute")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"processDefinitionId\": \"aProcessDefinitionId\",\n \"instructions\": [\n {\n \"type\": \"startAfterActivity\",\n \"activityId\": \"aUserTask\"\n },\n {\n \"type\": \"cancel\",\n \"activityId\": \"anotherTask\",\n \"cancelCurrentActiveActivityInstances\": true\n }\n ],\n \"processInstanceIds\": [\n \"aProcessInstance\",\n \"anotherProcessInstance\"\n ],\n \"processInstanceQuery\": {\n \"processDefinitionId\": \"aProcessDefinitionId\"\n },\n \"skipCustomListeners\": true,\n \"annotation\": \"Modified to resolve an error.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://{host}:{port}/{contextPath}/modification/execute")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"processDefinitionId\": \"aProcessDefinitionId\",\n \"instructions\": [\n {\n \"type\": \"startAfterActivity\",\n \"activityId\": \"aUserTask\"\n },\n {\n \"type\": \"cancel\",\n \"activityId\": \"anotherTask\",\n \"cancelCurrentActiveActivityInstances\": true\n }\n ],\n \"processInstanceIds\": [\n \"aProcessInstance\",\n \"anotherProcessInstance\"\n ],\n \"processInstanceQuery\": {\n \"processDefinitionId\": \"aProcessDefinitionId\"\n },\n \"skipCustomListeners\": true,\n \"annotation\": \"Modified to resolve an error.\"\n}"
response = http.request(request)
puts response.read_body{
"type": "<string>",
"message": "<string>",
"code": 123
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Body
The id of the process definition for the modification
Skip execution listener invocation for activities that are started or ended as part of this request.
Skip execution of input/output variable mappings for activities that are started or ended as part of this request.
A list of process instance ids to modify.
A process instance query which defines a group of process instances
Show child attributes
Show child attributes
A historic process instance query which defines a group of historic process instances
Show child attributes
Show child attributes
An array of modification instructions. The instructions are executed in the order they are in.
Show child attributes
Show child attributes
An arbitrary text annotation set by a user for auditing reasons.
Response
Request successful. This method returns no content.