Query for variable instances that fulfill given parameters. Parameters may be the properties of variable instances, such as the name or type. The size of the result set can be retrieved by using the Get Variable Instance Count method.
Method
GET /variable-instance
Parameters
Query Parameters
Name | Description |
---|---|
variableName | Filter by variable instance name. |
variableNameLike | Filter by the variable instance name. The parameter can include the wildcard % to express like-strategy such as: starts with (% name), ends with (name% ) or contains (% name% ). |
processInstanceIdIn | Only include variable instances which belong to one of the passed and comma-separated process instance ids. |
executionIdIn | Only include variable instances which belong to one of the passed and comma-separated execution ids. |
caseInstanceIdIn | Only include variable instances which belong to one of the passed case instance ids. |
caseExecutionIdIn | Only include variable instances which belong to one of the passed case execution ids. |
taskIdIn | Only include variable instances which belong to one of the passed and comma-separated task ids. |
activityInstanceIdIn | Only include variable instances which belong to one of the passed and comma-separated activity instance ids. |
tenantIdIn | Only include variable instances which belong to one of the passed and comma-separated tenant ids. |
variableValues | Only include variable instances that have the certain values. Value filtering expressions are comma-separated and are structured as follows: A valid parameter value has the form key_operator_value . key is the variable name, operator is the comparison operator to be used and value the variable value.Note: Values are always treated as String objects on server side. Valid operator values are: eq - equal to; neq - not equal to; gt - greater than; gteq - greater than or equal to; lt - lower than; lteq - lower than or equal to; like . key and value may not contain underscore or comma characters. |
sortBy | Sort the results lexicographically by a given criterion. Valid values are variableName , variableType , activityInstanceId and tenantId . Must be used in conjunction with the sortOrder parameter. |
sortOrder | Sort the results in a given order. Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter. |
firstResult | Pagination of results. Specifies the index of the first result to return. |
maxResults | Pagination of results. Specifies the maximum number of results to return. Will return less results if there are no more results left. |
deserializeValues | Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side (default true ). |
If set to true
, a serializable variable will be deserialized on server side and transformed to JSON using Jackson's POJO/bean property introspection feature. Note that this requires the Java classes of the variable value to be on the REST API's classpath.
If set to false
, a serializable variable will be returned in its serialized format. For example, a variable that is serialized as XML will be returned as a JSON string containing XML.
Note: While true
is the default value for reasons of backward compatibility, we recommend setting this parameter to false
when developing web applications that are independent of the Java process applications deployed to the engine.
Result
A JSON array of variable instance objects. Each variable instance object has the following properties:
Name | Value | Description |
---|---|---|
id | String | The id of the variable instance. |
name | String | The name of the variable instance. |
type | String | The value type of the variable. |
value | String / Number / Boolean / Object | The variable's value. Value differs depending on the variable's type and on the deserializeValues parameter. |
valueInfo | Object | A JSON object containing additional, value-type-dependent properties. |
For variables of type Object
, the following properties are returned:
- objectTypeName: A string representation of the object's type name.
- serializationDataFormat: The serialization format used to store the variable.
|processInstanceId|String|The id of the process instance that this variable instance belongs to.
|executionId|String|The id of the execution that this variable instance belongs to.
|caseInstanceId|String|The id of the case instance that this variable instance belongs to.
|caseExecutionId|String|The id of the case execution that this variable instance belongs to.
|taskId|String|The id of the task that this variable instance belongs to.
|activityInstanceId|String|The id of the activity instance that this variable instance belongs to.
|tenantId|String|The id of the tenant that this variable instance belongs to.
Response Codes
Code | Media type | Description |
---|---|---|
200 | application/json | Request successful. |
400 | application/json | Returned if some of the query parameters are invalid, for example if a sortOrder parameter is supplied, but no sortBy , or if an invalid operator for variable comparison is used. See the Introduction for the error response format. |
Example
Request
GET /variable-instance?processInstanceIdIn=aProcessInstanceId,anotherProcessInstanceId&variableValues=amount_gteq_5,amount_lteq_200
Response
[
{
"id": "someId",
"name": "amount",
"type": "Integer",
"variableType": "integer",
"value": 5,
"processInstanceId": "aProcessInstanceId",
"executionId": "b68b71c9-e310-11e2-beb0-f0def1557726",
"taskId": null,
"activityInstanceId": "Task_1:b68b71ca-e310-11e2-beb0-f0def1557726",
"caseExecutionId": null,
"caseInstanceId": null,
"serializationConfig": null,
"tenantId": null
},
{
"id": "someOtherId",
"name": "amount",
"type": "Integer",
"variableType": "integer",
"value": 15,
"processInstanceId": "aProcessInstanceId",
"executionId": "68b71c9-e310-11e2-beb0-f0def1557726",
"taskId": null,
"activityInstanceId": "Task_1:b68b71ca-e310-11e2-beb0-f0def1557726",
"caseExecutionId": null,
"caseInstanceId": null,
"serializationConfig": null,
"tenantId": null
},
{
"id": "yetAnotherId",
"name": "amount",
"type": "Integer",
"variableType": "integer",
"value": 150,
"processInstanceId": "anotherProcessInstanceId",
"executionId": "68b71c9-e310-11e2-beb0-f0def1557726",
"taskId": null,
"activityInstanceId": "Task_2:b68b71ca-e310-11e2-beb0-f0def1557726",
"caseExecutionId": null,
"caseInstanceId": null,
"serializationConfig": null,
"tenantId": null
}
]
原文: https://docs.camunda.org/manual/7.9/reference/rest/variable-instance/get-query/