Interface TaskService
- All Known Implementing Classes:
TaskServiceImpl
Task and form related operations.- Author:
- Tom Baeyens, Joram Barrez, Thorben Lindhauer
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddCandidateGroup(String taskId, String groupId) Convenience shorthand foraddGroupIdentityLink(String, String, String); with typeIdentityLinkType.CANDIDATEvoidaddCandidateUser(String taskId, String userId) Convenience shorthand foraddUserIdentityLink(String, String, String); with typeIdentityLinkType.CANDIDATEvoidaddComment(String taskId, String processInstanceId, String message) Deprecated.voidaddGroupIdentityLink(String taskId, String groupId, String identityLinkType) Involves a group with a task.voidaddUserIdentityLink(String taskId, String userId, String identityLinkType) Involves a user with a task.voidClaim responsibility for a task: the given user is madeassigneefor the task.voidMarks a task as done and continues process execution.voidMarks a task as done and continues process execution.completeWithVariablesInReturn(String taskId, Map<String, Object> variables, boolean deserializeValues) Marks a task as done and continues process execution.createAttachment(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, InputStream content) Add a new attachment to a task and/or a process instance and use an input stream to provide the content please use method in runtime service to operate on process instance.createAttachment(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, String url) Add a new attachment to a task and/or a process instance and use an url as the content please use method in runtime service to operate on process instance Either taskId or processInstanceId has to be providedcreateComment(String taskId, String processInstanceId, String message) Creates a comment to a task and/or process instance and returns the comment.Returns a newReturns a newTaskQuerythat can be used to dynamically query tasks.Instantiate a task reportvoiddelegateTask(String taskId, String userId) Delegates the task to another user.voiddeleteAttachment(String attachmentId) Delete an attachmentvoiddeleteCandidateGroup(String taskId, String groupId) Convenience shorthand fordeleteGroupIdentityLink(String, String, String); with typeIdentityLinkType.CANDIDATEvoiddeleteCandidateUser(String taskId, String userId) Convenience shorthand fordeleteUserIdentityLink(String, String, String); with typeIdentityLinkType.CANDIDATEvoiddeleteGroupIdentityLink(String taskId, String groupId, String identityLinkType) Removes the association between a group and a task for the given identityLinkType.voiddeleteTask(String taskId) Deletes the given task, not deleting historic information that is related to this task.voiddeleteTask(String taskId, boolean cascade) Deletes the given task.voiddeleteTask(String taskId, String deleteReason) Deletes the given task, not deleting historic information that is related to this task.voiddeleteTaskAttachment(String taskId, String attachmentId) Delete an attachment to the given task id and attachment idvoiddeleteTasks(Collection<String> taskIds) Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.voiddeleteTasks(Collection<String> taskIds, boolean cascade) Deletes all tasks of the given collection.voiddeleteTasks(Collection<String> taskIds, String deleteReason) Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.voiddeleteUserIdentityLink(String taskId, String userId, String identityLinkType) Removes the association between a user and a task for the given identityLinkType.getAttachment(String attachmentId) Retrieve a particular attachmentgetAttachmentContent(String attachmentId) Retrieve stream content of a particular attachmentgetIdentityLinksForTask(String taskId) Retrieves theIdentityLinks associated with the given task.getProcessInstanceAttachments(String processInstanceId) The list of attachments associated to a process instancegetProcessInstanceComments(String processInstanceId) The comments related to the given process instance.getSubTasks(String parentTaskId) The list of subtasks for this parent taskgetTaskAttachment(String taskId, String attachmentId) Retrieve a particular attachment to the given task id and attachment idgetTaskAttachmentContent(String taskId, String attachmentId) Retrieve stream content of a particular attachment to the given task id and attachment idgetTaskAttachments(String taskId) The list of attachments associated to a taskgetTaskComment(String taskId, String commentId) Retrieve a particular task commentgetTaskComments(String taskId) The comments related to the given task.getTaskEvents(String taskId) Deprecated.This method has been deprecated as of Camunda Platform 7.1.getVariable(String taskId, String variableName) Get a variables and search in the task scope and if available also the execution scopes.getVariableLocal(String taskId, String variableName) Get a variables and only search in the task scope.<T extends TypedValue>
TgetVariableLocalTyped(String taskId, String variableName) Get a variables and only search in the task scope.<T extends TypedValue>
TgetVariableLocalTyped(String taskId, String variableName, boolean deserializeValue) Get a variables and only search in the task scope.getVariables(String taskId) Get all variables and search in the task scope and if available also the execution scopes.getVariables(String taskId, Collection<String> variableNames) Get values for all given variableNamesgetVariablesLocal(String taskId) Get all variables and search only in the task scope.getVariablesLocal(String taskId, Collection<String> variableNames) Get a variable on a taskgetVariablesLocalTyped(String taskId) Get all variables and search only in the task scope.getVariablesLocalTyped(String taskId, boolean deserializeValues) Get all variables and search only in the task scope.getVariablesLocalTyped(String taskId, Collection<String> variableNames, boolean deserializeValues) Get values for all given variableName.getVariablesTyped(String taskId) Get all variables and search in the task scope and if available also the execution scopes.getVariablesTyped(String taskId, boolean deserializeValues) Get all variables and search in the task scope and if available also the execution scopes.getVariablesTyped(String taskId, Collection<String> variableNames, boolean deserializeValues) Get values for all given variableName<T extends TypedValue>
TgetVariableTyped(String taskId, String variableName) Get a variables and search in the task scope and if available also the execution scopes.<T extends TypedValue>
TgetVariableTyped(String taskId, String variableName, boolean deserializeValue) Get a variables and search in the task scope and if available also the execution scopes.voidhandleBpmnError(String taskId, String errorCode) Signals that a business error appears, which should be handled by the process engine.voidhandleBpmnError(String taskId, String errorCode, String errorMessage) voidvoidhandleEscalation(String taskId, String escalationCode) Signals that an escalation appears, which should be handled by the process engine.voidSignals that an escalation appears, which should be handled by the process engine.newTask()Creates a new task that is not related to any process instance.create a new task with a user defined task idvoidremoveVariable(String taskId, String variableName) Removes the variable from the task.voidremoveVariableLocal(String taskId, String variableName) Removes the variable from the task (not considering parent scopes).voidremoveVariables(String taskId, Collection<String> variableNames) Removes all variables in the given collection from the task.voidremoveVariablesLocal(String taskId, Collection<String> variableNames) Removes all variables in the given collection from the task (not considering parent scopes).voidresolveTask(String taskId) voidresolveTask(String taskId, Map<String, Object> variables) voidsaveAttachment(Attachment attachment) Update the name and decription of an attachmentvoidSaves the given task to the persistent data store.voidsetAssignee(String taskId, String userId) Changes the assignee of the given task to the given userId.voidsetDescription(String taskId, String description) Changes the description of the task.voidsetDueDate(String taskId, Date dueDate) Changes the dueDate of the task.voidsetFollowUpDate(String taskId, Date followUpDate) Changes the dueDate of the task.voidChanges the name of the task.voidTransfers ownership of this task to another user.voidsetPriority(String taskId, int priority) Changes the priority of the task.voidsetVariable(String taskId, String variableName, Object value) Set variable on a task.voidsetVariableLocal(String taskId, String variableName, Object value) Set variable on a task.voidsetVariables(String taskId, Map<String, ? extends Object> variables) Set variables on a task.voidsetVariablesLocal(String taskId, Map<String, ? extends Object> variables) Set variables on a task.
-
Method Details
-
newTask
Task newTask()Creates a new task that is not related to any process instance. The returned task is transient and must be saved withsaveTask(Task)'manually'.- Throws:
AuthorizationException- if the user has noPermissions.CREATEpermission onResources.TASK.
-
newTask
create a new task with a user defined task id -
saveTask
Saves the given task to the persistent data store. If the task is already present in the persistent store, it is updated. After a new task has been saved, the task instance passed into this method is updated with the id of the newly created task.- Parameters:
task- the task, cannot be null.- Throws:
AuthorizationException- If the task is already present and the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION. Or if the task is not present and the user has noPermissions.CREATEpermission onResources.TASK.
-
deleteTask
Deletes the given task, not deleting historic information that is related to this task.- Parameters:
taskId- The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.- Throws:
ProcessEngineException- when an error occurs while deleting the task or in case the task is part of a running process or case instance.AuthorizationException- If the user has noPermissions.DELETEpermission onResources.TASK.
-
deleteTasks
Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.- Parameters:
taskIds- The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.- Throws:
ProcessEngineException- when an error occurs while deleting the tasks or in case one of the tasks is part of a running process or case instance.AuthorizationException- If the user has noPermissions.DELETEpermission onResources.TASK.
-
deleteTask
Deletes the given task.- Parameters:
taskId- The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.cascade- If cascade is true, also the historic information related to this task is deleted.- Throws:
ProcessEngineException- when an error occurs while deleting the task or in case the task is part of a running process or case instance.AuthorizationException- If the user has noPermissions.DELETEpermission onResources.TASK.
-
deleteTasks
Deletes all tasks of the given collection.- Parameters:
taskIds- The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.cascade- If cascade is true, also the historic information related to this task is deleted.- Throws:
ProcessEngineException- when an error occurs while deleting the tasks or in case one of the tasks is part of a running process or case instance.AuthorizationException- If the user has noPermissions.DELETEpermission onResources.TASK.
-
deleteTask
Deletes the given task, not deleting historic information that is related to this task.- Parameters:
taskId- The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.deleteReason- reason the task is deleted. Is recorded in history, if enabled.- Throws:
ProcessEngineException- when an error occurs while deleting the task or in case the task is part of a running process or case instance.AuthorizationException- If the user has noPermissions.DELETEpermission onResources.TASK.
-
deleteTasks
Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.- Parameters:
taskIds- The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.deleteReason- reason the task is deleted. Is recorded in history, if enabled.- Throws:
ProcessEngineException- when an error occurs while deleting the tasks or in case one of the tasks is part of a running process or case instance.AuthorizationException- If the user has noPermissions.DELETEpermission onResources.TASK.
-
claim
Claim responsibility for a task: the given user is madeassigneefor the task. The difference withsetAssignee(String, String)is that here a check is done if the task already has a user assigned to it. No check is done whether the user is known by the identity component.- Parameters:
taskId- task to claim, cannot be null.userId- user that claims the task. When userId is null the task is unclaimed, assigned to no one.- Throws:
ProcessEngineException- when the task doesn't exist or when the task is already claimed by another user.AuthorizationException- If the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
complete
Marks a task as done and continues process execution. This method is typically called by a task list user interface after a task form has been submitted by theassignee.- Parameters:
taskId- the id of the task to complete, cannot be null.- Throws:
ProcessEngineException- when no task exists with the given id or when this task isDelegationState.PENDINGdelegation.AuthorizationException- If the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
delegateTask
Delegates the task to another user. This means that theassigneeis set and thedelegation stateis set toDelegationState.PENDING. If no owner is set on the task, the owner is set to the currentassigneeof the task. The new assignee must useresolveTask(String)to report back to the owner. Only the owner cancompletethe task.- Parameters:
taskId- The id of the task that will be delegated.userId- The id of the user that will be set as assignee.- Throws:
ProcessEngineException- when no task exists with the given id.AuthorizationException- If the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
resolveTask
Marks that theassigneeis done with the taskdelegatedto her and that it can be sent back to theowner. Can only be called when this task isDelegationState.PENDINGdelegation. After this method returns, thedelegation stateis set toDelegationState.RESOLVEDand the task can becompleted.- Parameters:
taskId- the id of the task to resolve, cannot be null.- Throws:
ProcessEngineException- when no task exists with the given id.AuthorizationException- If the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
resolveTask
Marks that theassigneeis done with the taskdelegatedto her and that it can be sent back to theownerwith the provided variables. Can only be called when this task isDelegationState.PENDINGdelegation. After this method returns, thedelegation stateis set toDelegationState.RESOLVEDand the task can becompleted.- Parameters:
taskId-variables-- Throws:
ProcessEngineException- when no task exists with the given id.AuthorizationException- If the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
complete
Marks a task as done and continues process execution. This method is typically called by a task list user interface after a task form has been submitted by theassigneeand the required task parameters have been provided.- Parameters:
taskId- the id of the task to complete, cannot be null.variables- task parameters. May be null or empty.- Throws:
ProcessEngineException- when no task exists with the given id.AuthorizationException- If the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
completeWithVariablesInReturn
VariableMap completeWithVariablesInReturn(String taskId, Map<String, Object> variables, boolean deserializeValues) Marks a task as done and continues process execution. This method is typically called by a task list user interface after a task form has been submitted by theassigneeand the required task parameters have been provided.- Parameters:
taskId- the id of the task to complete, cannot be null.variables- task parameters. May be null or empty.deserializeValues- if false, returnedSerializableValues will not be deserialized (unless they are passed into this method as a deserialized value or if the BPMN process triggers deserialization)- Returns:
- All task variables with their current value
- Throws:
ProcessEngineException- when no task exists with the given id.AuthorizationException- If the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
setAssignee
Changes the assignee of the given task to the given userId. No check is done whether the user is known by the identity component.- Parameters:
taskId- id of the task, cannot be null.userId- id of the user to use as assignee.- Throws:
NullValueException- in case the given taskId is null.NotFoundException- when the task or user doesn't exist.AuthorizationException- If the user hasn't any ofPermissions.UPDATE,Permissions.TASK_ASSIGNpermissions onResources.TASKor noPermissions.UPDATE_TASK,Permissions.TASK_ASSIGNpermissions onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
setOwner
Transfers ownership of this task to another user. No check is done whether the user is known by the identity component.- Parameters:
taskId- id of the task, cannot be null.userId- of the person that is receiving ownership.- Throws:
NullValueException- in case the given taskId or userId is null.NotFoundException- when the task or user doesn't exist.AuthorizationException- If the user hasn't any ofPermissions.UPDATE,Permissions.TASK_ASSIGNpermissions onResources.TASKor noPermissions.UPDATE_TASK,Permissions.TASK_ASSIGNpermissions onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
getIdentityLinksForTask
Retrieves theIdentityLinks associated with the given task. Such anIdentityLinkinforms how a certain identity (eg. group or user) is associated with a certain task (eg. as candidate, assignee, etc.)- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException- If the user has noPermissions.READpermission onResources.TASKor noPermissions.READ_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
addCandidateUser
Convenience shorthand foraddUserIdentityLink(String, String, String); with typeIdentityLinkType.CANDIDATE- Parameters:
taskId- id of the task, cannot be null.userId- id of the user to use as candidate, cannot be null.- Throws:
NullValueException- in case the given taskId or userId is null.NotFoundException- when the task doesn't exist.AuthorizationException- If the user hasn't any ofPermissions.UPDATE,Permissions.TASK_ASSIGNpermissions onResources.TASKor noPermissions.UPDATE_TASK,Permissions.TASK_ASSIGNpermissions onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
addCandidateGroup
Convenience shorthand foraddGroupIdentityLink(String, String, String); with typeIdentityLinkType.CANDIDATE- Parameters:
taskId- id of the task, cannot be null.groupId- id of the group to use as candidate, cannot be null.- Throws:
NullValueException- in case the given taskId or groupId is null.NotFoundException- when the task doesn't exist.AuthorizationException- If the user hasn't any ofPermissions.UPDATE,Permissions.TASK_ASSIGNpermissions onResources.TASKor noPermissions.UPDATE_TASK,Permissions.TASK_ASSIGNpermissions onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
addUserIdentityLink
Involves a user with a task. The type of identity link is defined by the given identityLinkType.- Parameters:
taskId- id of the task, cannot be null.userId- id of the user involve, cannot be null.identityLinkType- type of identityLink, cannot be null (@seeIdentityLinkType).- Throws:
NullValueException- in case the given taskId or userId is null.NotFoundException- when the task doesn't exist.AuthorizationException- If the user hasn't any ofPermissions.UPDATE,Permissions.TASK_ASSIGNpermissions onResources.TASKor noPermissions.UPDATE_TASK,Permissions.TASK_ASSIGNpermissions onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
addGroupIdentityLink
Involves a group with a task. The type of identityLink is defined by the given identityLink.- Parameters:
taskId- id of the task, cannot be null.groupId- id of the group to involve, cannot be null.identityLinkType- type of identity, cannot be null (@seeIdentityLinkType).- Throws:
NullValueException- in case the given taskId or groupId is null.NotFoundException- when the task doesn't exist.AuthorizationException- If the user hasn't any ofPermissions.UPDATE,Permissions.TASK_ASSIGNpermissions onResources.TASKor noPermissions.UPDATE_TASK,Permissions.TASK_ASSIGNpermissions onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
deleteCandidateUser
Convenience shorthand fordeleteUserIdentityLink(String, String, String); with typeIdentityLinkType.CANDIDATE- Parameters:
taskId- id of the task, cannot be null.userId- id of the user to use as candidate, cannot be null.- Throws:
ProcessEngineException- when the task or user doesn't exist.AuthorizationException- If the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
deleteCandidateGroup
Convenience shorthand fordeleteGroupIdentityLink(String, String, String); with typeIdentityLinkType.CANDIDATE- Parameters:
taskId- id of the task, cannot be null.groupId- id of the group to use as candidate, cannot be null.- Throws:
ProcessEngineException- when the task or group doesn't exist.AuthorizationException- If the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
deleteUserIdentityLink
Removes the association between a user and a task for the given identityLinkType.- Parameters:
taskId- id of the task, cannot be null.userId- id of the user involve, cannot be null.identityLinkType- type of identityLink, cannot be null (@seeIdentityLinkType).- Throws:
ProcessEngineException- when the task or user doesn't exist.AuthorizationException- If the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
deleteGroupIdentityLink
Removes the association between a group and a task for the given identityLinkType.- Parameters:
taskId- id of the task, cannot be null.groupId- id of the group to involve, cannot be null.identityLinkType- type of identity, cannot be null (@seeIdentityLinkType).- Throws:
ProcessEngineException- when the task or group doesn't exist.AuthorizationException- If the user has noPermissions.UPDATEpermission onResources.TASKor noPermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
setPriority
Changes the priority of the task.Authorization: actual owner / business admin
- Parameters:
taskId- id of the task, cannot be null.priority- the new priority for the task.- Throws:
NullValueException- in case the given taskId is null.NotFoundException- when the task doesn't exist.AuthorizationException- If the user hasn't any ofPermissions.UPDATE,Permissions.TASK_ASSIGNpermissions onResources.TASKor noPermissions.UPDATE_TASK,Permissions.TASK_ASSIGNpermissions onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
setName
Changes the name of the task.- Parameters:
taskId- id of the task, not nullname- the new task name, not null- Throws:
NullValueException- in case the taskId is null.NotFoundException- when the task doesn't exist.AuthorizationException- If the user hasn't any ofPermissions.UPDATE,Permissions.TASK_ASSIGNpermissions onResources.TASKor noPermissions.UPDATE_TASK,Permissions.TASK_ASSIGNpermissions onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
setDescription
Changes the description of the task.- Parameters:
taskId- id of the task, not nulldescription- the new task description, not null- Throws:
NullValueException- in case the taskId is null.NotFoundException- when the task doesn't exist.AuthorizationException- If the user hasn't any ofPermissions.UPDATE,Permissions.TASK_ASSIGNpermissions onResources.TASKor noPermissions.UPDATE_TASK,Permissions.TASK_ASSIGNpermissions onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
setDueDate
Changes the dueDate of the task.- Parameters:
taskId- id of the task, not nulldueDate- the new task dueDate, not null- Throws:
NullValueException- in case the taskId is null.NotFoundException- when the task doesn't exist.AuthorizationException- If the user hasn't any ofPermissions.UPDATE,Permissions.TASK_ASSIGNpermissions onResources.TASKor noPermissions.UPDATE_TASK,Permissions.TASK_ASSIGNpermissions onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
setFollowUpDate
Changes the dueDate of the task.- Parameters:
taskId- id of the task, not nullfollowUpDate- the new task followUpDate, not null- Throws:
NullValueException- in case the taskId is null.NotFoundException- when the task doesn't exist.AuthorizationException- If the user hasn't any ofPermissions.UPDATE,Permissions.TASK_ASSIGNpermissions onResources.TASKor noPermissions.UPDATE_TASK,Permissions.TASK_ASSIGNpermissions onResources.PROCESS_DEFINITION(if the task is part of a running process instance).
-
createTaskQuery
TaskQuery createTaskQuery()Returns a newTaskQuerythat can be used to dynamically query tasks. -
createNativeTaskQuery
NativeTaskQuery createNativeTaskQuery()Returns a new -
setVariable
Set variable on a task. If the variable is not already existing, it will be created in the most outer scope. This means the process instance in case this task is related to an execution.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException- If the user has none of the following:TaskPermissions.UPDATE_VARIABLEpermission onResources.TASKPermissions.UPDATEpermission onResources.TASK- or if the task is part of a running process instance:
-
setVariables
Set variables on a task. If the variable is not already existing, it will be created in the most outer scope. This means the process instance in case this task is related to an execution.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException- If the user has none of the following:TaskPermissions.UPDATE_VARIABLEpermission onResources.TASKPermissions.UPDATEpermission onResources.TASK- or if the task is part of a running process instance:
-
setVariableLocal
Set variable on a task. If the variable is not already existing, it will be created in the task.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException- If the user has none of the following:TaskPermissions.UPDATE_VARIABLEpermission onResources.TASKPermissions.UPDATEpermission onResources.TASK- or if the task is part of a running process instance:
-
setVariablesLocal
Set variables on a task. If the variable is not already existing, it will be created in the task.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException- If the user has none of the following:TaskPermissions.UPDATE_VARIABLEpermission onResources.TASKPermissions.UPDATEpermission onResources.TASK- or if the task is part of a running process instance:
-
getVariable
Get a variables and search in the task scope and if available also the execution scopes.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
- if the user has no
Permissions.READpermission onResources.TASKand noPermissions.READ_TASKpermission onResources.PROCESS_DEFINITION - in case
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKand noProcessDefinitionPermissions.READ_TASK_VARIABLEpermission onResources.PROCESS_DEFINITION
-
-
getVariableTyped
Get a variables and search in the task scope and if available also the execution scopes.- Parameters:
taskId- the id of the taskvariableName- the name of the variable to fetch- Returns:
- the TypedValue for the variable or 'null' in case no such variable exists.
- Throws:
ClassCastException- in case the value is not of the requested typeProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
- if the user has no
Permissions.READpermission onResources.TASKand noPermissions.READ_TASKpermission onResources.PROCESS_DEFINITION - in case
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKand noProcessDefinitionPermissions.READ_TASK_VARIABLEpermission onResources.PROCESS_DEFINITION - Since:
- 7.2
getVariableTyped
- Parameters:
taskId- the id of the taskvariableName- the name of the variable to fetchdeserializeValue- if false a,SerializableValuewill not be deserialized.- Returns:
- the TypedValue for the variable or 'null' in case no such variable exists.
- Throws:
ClassCastException- in case the value is not of the requested typeProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariableLocal
- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariableLocalTyped
- Parameters:
taskId- the id of the taskvariableName- the name of the variable to fetch- Returns:
- the TypedValue for the variable or 'null' in case no such variable exists.
- Throws:
ClassCastException- in case the value is not of the requested typeProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariableLocalTyped
- Parameters:
taskId- the id of the taskvariableName- the name of the variable to fetchdeserializeValue- if false a,SerializableValuewill not be deserialized.- Returns:
- the TypedValue for the variable or 'null' in case no such variable exists.
- Throws:
ClassCastException- in case the value is not of the requested typeProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariables
getVariables(String, Collection)
for better performance.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariablesTyped
getVariables(String, Collection)
for better performance.- Parameters:
taskId- the id of the task- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariablesTyped
getVariables(String, Collection)
for better performance.- Parameters:
taskId- the id of the taskdeserializeValues- if false,SerializableValueswill not be deserialized.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariablesLocal
getVariablesLocal(String, Collection)
for better performance.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariablesLocalTyped
getVariablesLocal(String, Collection)
for better performance.- Parameters:
taskId- the id of the taskdeserializeValues- if false,SerializableValueswill not be deserialized.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariablesLocalTyped
getVariablesLocal(String, Collection)
for better performance.- Parameters:
taskId- the id of the taskdeserializeValues- if false,SerializableValueswill not be deserialized.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariables
- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariablesTyped
- Parameters:
taskId- the id of the taskvariableNames- only fetch variables whose names are in the collection.deserializeValues- if false,SerializableValueswill not be deserialized.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariablesLocal
- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONgetVariablesLocalTyped
- Parameters:
taskId- the id of the taskvariableNames- only fetch variables whose names are in the collection.deserializeValues- if false,SerializableValueswill not be deserialized.- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException-In case of standalone tasks:
- if the user has no
Permissions.READpermission onResources.TASKor- if
thisconfiguration is enabled and the user has noTaskPermissions.READ_VARIABLEpermission onResources.TASKIn case the task is part of a running process instance:
- if the user has no
Permissions.READ permission on Resources.TASK and
no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION this configuration is enabled and
the user has no TaskPermissions.READ_VARIABLE permission on Resources.TASK and
no ProcessDefinitionPermissions.READ_TASK_VARIABLE permission on Resources.PROCESS_DEFINITIONremoveVariable
- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException- If the user has none of the following:TaskPermissions.UPDATE_VARIABLEpermission onResources.TASKPermissions.UPDATEpermission onResources.TASK- or if the task is part of a running process instance:
removeVariableLocal
- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException- If the user has none of the following:TaskPermissions.UPDATE_VARIABLEpermission onResources.TASKPermissions.UPDATEpermission onResources.TASK- or if the task is part of a running process instance:
removeVariables
- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException- If the user has none of the following:TaskPermissions.UPDATE_VARIABLEpermission onResources.TASKPermissions.UPDATEpermission onResources.TASK- or if the task is part of a running process instance:
removeVariablesLocal
- Throws:
ProcessEngineException- when the task doesn't exist.AuthorizationException- If the user has none of the following:TaskPermissions.UPDATE_VARIABLEpermission onResources.TASKPermissions.UPDATEpermission onResources.TASK- or if the task is part of a running process instance:
addComment
createComment(String, String, String) insteadcreateComment
getTaskComments
getTaskComment
getTaskEvents
UserOperationLogEntry and UserOperationLogQuery.The all events related to the given task.
As of Camunda Platform 7.4 task events are only written in context of a logged in
user. This behavior can be toggled in the process engine configuration using the
property legacyUserOperationLog (default false). To restore the engine's
previous behavior, set the flag to true.
getProcessInstanceComments
createAttachment
- Parameters:
taskId- - task that should have an attachmentprocessInstanceId- - id of a process to use if task id is nullattachmentType- - name of the attachment, can be nullattachmentName- - name of the attachment, can be nullattachmentDescription- - full text description, can be nullcontent- - byte array with content of attachment
createAttachment
- Parameters:
taskId- - task that should have an attachmentprocessInstanceId- - id of a process to use if task id is nullattachmentType- - name of the attachment, can be nullattachmentName- - name of the attachment, can be nullattachmentDescription- - full text description, can be nullurl- - url of the attachment, can be null
saveAttachment
getAttachment
getTaskAttachment
getAttachmentContent
getTaskAttachmentContent
getTaskAttachments
getProcessInstanceAttachments
deleteAttachment
deleteTaskAttachment
getSubTasks
createTaskReport
handleBpmnError
- Parameters:
taskId- the id of an existing active taskerrorCode- the error code of the corresponding bmpn error- Throws:
NotFoundException- if no task with the given id existsBadUserRequestException- if task id or error code were null or emptySuspendedEntityInteractionException- if the task is suspendedAuthorizationException- if the user has none of the following permissions:Permissions.TASK_WORKpermission onResources.TASKorResources.PROCESS_DEFINITIONresourcePermissions.UPDATEpermission onResources.TASKresourcePermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITIONresource
handleBpmnError
- Parameters:
taskId- the id of an existing active taskerrorCode- the error code of the corresponding bmpn errorerrorMessage- the error message of the corresponding bmpn error- See Also:
handleBpmnError
- Parameters:
taskId- the id of an existing active taskerrorCode- the error code of the corresponding bmpn errorerrorMessage- the error message of the corresponding bmpn errorvariables- the variables to pass to the execution- See Also:
handleEscalation
- Parameters:
taskId- the id of an existing active taskescalationCode- the escalation code of the corresponding escalationvariables- the variables to pass to the execution- Throws:
NotFoundException- if no task with the given id existsBadUserRequestException- if task id or escalation code were null or emptySuspendedEntityInteractionException- if the task is suspendedAuthorizationException- if the user has none of the following permissions:Permissions.TASK_WORKpermission onResources.TASKorResources.PROCESS_DEFINITIONresourcePermissions.UPDATEpermission onResources.TASKresourcePermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITIONresource
handleEscalation
- Parameters:
taskId- the id of an existing active taskescalationCode- the escalation code of the corresponding escalationvariables- the variables to pass to the execution- Throws:
NotFoundException- if no task with the given id existsBadUserRequestException- if task id or escalation code were null or emptySuspendedEntityInteractionException- if the task is suspendedAuthorizationException- if the user has none of the following permissions:Permissions.TASK_WORKpermission onResources.TASKorResources.PROCESS_DEFINITIONresourcePermissions.UPDATEpermission onResources.TASKresourcePermissions.UPDATE_TASKpermission onResources.PROCESS_DEFINITIONresource
createComment(String, String, String)instead