Get User Operation Log (Historic)
Queries for user operation log entries that fulfill the given parameters. The size of the result set can be retrieved by using the Get User Operation Log Count method.
Note that the properties of operation log entries are interpreted as restrictions on the entities they apply to. That means, if a single process instance is updated, the field processInstanceId
is populated. If a single operation updates all process instances of the same process definition, the field processInstanceId
is null
(a null
restriction is viewed as a wildcard, i.e., matches a process instance with any id) and the field processDefinitionId
is populated. This way, which entities were changed by a user operation can easily be reconstructed.
Method
GET /history/user-operation
Parameters
Query Parameters
Name | Description |
---|---|
deploymentId | Filter by deployment id. |
processDefinitionId | Filter by process definition id. |
processDefinitionKey | Filter by process definition key. |
processInstanceId | Filter by process instance id. |
executionId | Filter by execution id. |
caseDefinitionId | Filter by case definition id. |
caseInstanceId | Filter by case instance id. |
caseExecutionId | Filter by case execution id. |
taskId | Only include operations on this task. |
jobId | Filter by job id. |
jobDefinitionId | Filter by job definition id. |
userId | Only include operations of this user. |
operationId | Filter by the id of the operation. This allows fetching of multiple entries which are part of a composite operation. |
operationType | Filter by the type of the operation like Claim or Delegate . See the Javadoc
for a list of available operation types. |
entityType | Filter by the type of the entity that was affected by this operation, possible values are Task , Attachment or IdentityLink . |
entityTypeIn | Filter by types of the entities that was affected by this operation, possible values are Task , Attachment or IdentityLink . |
category | Filter by the category that this operation is associated with, possible values are TaskWorker , Admin or Operator . |
categoryIn | Filter by the categories that this operation is associated with, possible values are TaskWorker , Admin or Operator . |
property | Only include operations that changed this property, e.g., owner or assignee . |
afterTimestamp | Restrict to entries that were created after the given timestamp. By default*, the timestamp must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ , e.g., 2014-02-25T14:58:37.000+0200 . |
beforeTimestamp | Restrict to entries that were created before the given timestamp. By default*, the timestamp must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ , e.g., 2014-02-25T14:58:37.000+0200 . |
sortBy | Sort the results by a given criterion. At the moment the query only supports sorting based on the timestamp .
|
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. |
* For further information, please see the documentation.
Result
A JSON array of user operation log entries. Each log entry has the following properties:
Name | Value | Description |
---|---|---|
id | String | The unique identifier of this log entry. |
userId | String | The user who performed this operation. |
timestamp | String | Timestamp of this operation. |
operationId | String | The unique identifier of this operation. A composite operation that changes multiple properties has a common operationId . |
operationType | String | The type of this operation, e.g., Assign , Claim and so on. |
entityType | String | The type of the entity on which this operation was executed, e.g., Task or Attachment . |
category | String | The name of the category this operation was associated with, e.g., TaskWorker or Admin . |
annotation | String | An arbitrary annotation set by a user for auditing reasons. |
property | String | The property changed by this operation. |
orgValue | String | The original value of the changed property. |
newValue | String | The new value of the changed property. |
deploymentId | String | If not null, the operation is restricted to entities in relation to this deployment. |
processDefinitionId | String | If not null, the operation is restricted to entities in relation to this process definition. |
processDefinitionKey | String | If not null, the operation is restricted to entities in relation to process definitions with this key. |
processInstanceId | String | If not null, the operation is restricted to entities in relation to this process instance. |
executionId | String | If not null, the operation is restricted to entities in relation to this execution. |
caseDefinitionId | String | If not null, the operation is restricted to entities in relation to this case definition. |
caseInstanceId | String | If not null, the operation is restricted to entities in relation to this case instance. |
caseExecutionId | String | If not null, the operation is restricted to entities in relation to this case execution. |
taskId | String | If not null, the operation is restricted to entities in relation to this task. |
jobId | If not null, the operation is restricted to entities in relation to this job. | |
jobDefinitionId | If not null, the operation is restricted to entities in relation to this job definition. | |
removalTime | String | The time after which the entry should be removed by the History Cleanup job. Default format* yyyy-MM-dd'T'HH:mm:ss.SSSZ . |
rootProcessInstanceId | String | The process instance id of the root process instance that initiated the process containing this entry. |
* For further information, please see the documentation.
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 . See the Introduction for the error response format. |
Examples
(1) Request
Gets an operation that updates a single task.
GET /history/user-operation?operationType=Claim&userId=demo&sortBy=timestamp&sortOrder=asc
Response
[{"id": "anUserOperationLogEntryId",
"deploymentId": "aDeploymentId",
"processDefinitionId": "aProcessDefinitionId",
"processDefinitionKey": null,
"processInstanceId": "aProcessInstanceId",
"executionId": "anExecutionId",
"taskId": "aTaskId",
"jobId": "aJobId",
"jobDefinitionId": "aJobDefinitionId",
"userId": "demo",
"timestamp": "2014-02-25T14:58:37.000+0200",
"operationId": "anOperationId",
"operationType": "Claim",
"entityType": "Task",
"property": "assignee",
"orgValue": null,
"newValue": "demo",
"removalTime": "2018-02-10T14:33:19.000+0200",
"rootProcessInstanceId": "aRootProcessInstanceId",
"category": "TaskWorker",
"annotation": "anAnnotation"}]
(2) Request
Gets an operation that updates a multiple process instances with the same key.
GET /history/user-operation?operationType=Suspend&userId=demo
Response
[{"id": "anUserOperationLogEntryId",
"deploymentId": "aDeploymentId",
"processDefinitionId": "aProcessDefinitionId",
"processDefinitionKey": "aProcessDefinitionKey",
"processInstanceId": null,
"executionId": null,
"taskId": null,
"jobId": null,
"jobDefinitionId": null,
"userId": "demo",
"timestamp": "2014-02-25T14:58:37.000+0200",
"operationId": "anOperationId",
"operationType": "Suspend",
"entityType": "ProcessInstance",
"property": "suspensionState",
"orgValue": null,
"newValue": "suspended",
"removalTime": "2018-02-10T14:33:19.000+0200",
"rootProcessInstanceId": "aRootProcessInstanceId",
"category": "Operator",
"annotation": "anAnnotation"}]