Completes an external task by id and updates process variables.
Method
POST /external-task/{id}/complete
Parameters
Path Parameters
Name | Description |
---|---|
id | The id of the task to complete. |
Request Body
A JSON object with the following properties:
Name | Description |
---|---|
workerId | The id of the worker that completes the task. Must match the id of the worker who has most recently locked the task. |
Name | Description |
——- | |
variables |
A JSON object containing variable key-value pairs. Each key is a variable name and each value a JSON variable value object with the following properties:
Name | Description |
---|---|
value | The variable's value. For variables of type Object , the serialized value has to be submitted as a String value.For variables of type File the value has to be submitted as Base64 encoded string. |
type | The value type of the variable. |
valueInfo | A JSON object containing additional, value-type-dependent properties. For serialized variables of type Object , the following properties can be provided:- objectTypeName: A string representation of the object's type name. - serializationDataFormat: The serialization format used to store the variable. For serialized variables of type File , the following properties can be provided:- filename: The name of the file. This is not the variable name but the name that will be used when downloading the file again. - mimetype: The MIME type of the file that is being uploaded. - encoding: The encoding of the file that is being uploaded. The following property can be provided for all value types: - transient: Indicates whether the variable should be transient or not. See documentation for more informations. |
|value|The variable's value. For variables of type Object
, the serialized value has to be submitted as a String value.
For variables of type File
the value has to be submitted as Base64 encoded string.
|type|The value type of the variable.|valueInfo| A JSON object containing additional, value-type-dependent properties.
For serialized variables of type Object
, the following properties can be provided:
- objectTypeName: A string representation of the object's type name.
serializationDataFormat: The serialization format used to store the variable.
For serialized variables of typeFile
, the following properties can be provided:filename: The name of the file. This is not the variable name but the name that will be used when downloading the file again.
- mimetype: The MIME type of the file that is being uploaded.
encoding: The encoding of the file that is being uploaded.
The following property can be provided for all value types:transient: Indicates whether the variable should be transient or not. See documentation for more informations.
|Name|Description
|——-
|value|The variable's value. For variables of typeObject
, the serialized value has to be submitted as a String value.
For variables of typeFile
the value has to be submitted as Base64 encoded string.
|type|The value type of the variable.
|valueInfo| A JSON object containing additional, value-type-dependent properties.
For serialized variables of type Object
, the following properties can be provided:
- objectTypeName: A string representation of the object's type name.
serializationDataFormat: The serialization format used to store the variable.
For serialized variables of typeFile
, the following properties can be provided:filename: The name of the file. This is not the variable name but the name that will be used when downloading the file again.
- mimetype: The MIME type of the file that is being uploaded.
encoding: The encoding of the file that is being uploaded.
The following property can be provided for all value types:transient: Indicates whether the variable should be transient or not. See documentation for more informations.
|Name|Description
|——-
|localVariables|
A JSON object containing variable key-value pairs. Each key is a variable name and each value a JSON variable value object with the following properties:
Local variables are set only in the scope of external task.
Name | Description |
---|---|
value | The variable's value. For variables of type Object , the serialized value has to be submitted as a String value.For variables of type File the value has to be submitted as Base64 encoded string. |
type | The value type of the variable. |
valueInfo | A JSON object containing additional, value-type-dependent properties. For serialized variables of type Object , the following properties can be provided:- objectTypeName: A string representation of the object's type name. - serializationDataFormat: The serialization format used to store the variable. For serialized variables of type File , the following properties can be provided:- filename: The name of the file. This is not the variable name but the name that will be used when downloading the file again. - mimetype: The MIME type of the file that is being uploaded. - encoding: The encoding of the file that is being uploaded. The following property can be provided for all value types: - transient: Indicates whether the variable should be transient or not. See documentation for more informations. |
|value|The variable's value. For variables of type Object
, the serialized value has to be submitted as a String value.
For variables of type File
the value has to be submitted as Base64 encoded string.
|type|The value type of the variable.|valueInfo| A JSON object containing additional, value-type-dependent properties.
For serialized variables of type Object
, the following properties can be provided:
- objectTypeName: A string representation of the object's type name.
serializationDataFormat: The serialization format used to store the variable.
For serialized variables of typeFile
, the following properties can be provided:filename: The name of the file. This is not the variable name but the name that will be used when downloading the file again.
- mimetype: The MIME type of the file that is being uploaded.
encoding: The encoding of the file that is being uploaded.
The following property can be provided for all value types:transient: Indicates whether the variable should be transient or not. See documentation for more informations.
|Name|Description
|——-
|value|The variable's value. For variables of typeObject
, the serialized value has to be submitted as a String value.
For variables of typeFile
the value has to be submitted as Base64 encoded string.
|type|The value type of the variable.
|valueInfo| A JSON object containing additional, value-type-dependent properties.
For serialized variables of type Object
, the following properties can be provided:
- objectTypeName: A string representation of the object's type name.
serializationDataFormat: The serialization format used to store the variable.
For serialized variables of typeFile
, the following properties can be provided:filename: The name of the file. This is not the variable name but the name that will be used when downloading the file again.
- mimetype: The MIME type of the file that is being uploaded.
encoding: The encoding of the file that is being uploaded.
The following property can be provided for all value types:transient: Indicates whether the variable should be transient or not. See documentation for more informations.
Result
This method returns no content.
Response Codes
Code | Media type | Description |
---|---|---|
204 | Request successful. | |
400 | application/json | Returned if the task's most recent lock was not acquired by the provided worker. See the Introduction for the error response format. |
404 | application/json | Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, e.g., due to a caught BPMN boundary event. See the Introduction for the error response format. |
500 | application/json | Returned if the corresponding process instance could not be resumed successfully. See the Introduction for the error response format. |
Example
Request
POST /external-task/anId/complete
Request Body:
{
"workerId": "aWorker",
"variables":
{"aVariable": {"value": "aStringValue"},
"anotherVariable": {"value": 42},
"aThirdVariable": {"value": true}},
"localVariables":
{"aLocalVariable": {"value": "aStringValue"}}
}
Response
Status 204. No content.
原文: https://docs.camunda.org/manual/7.9/reference/rest/external-task/post-complete/