Interface TaskRuntime


  • public interface TaskRuntime
    User Based Integrations against the Task Runtime
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addCandidateGroups​(CandidateGroupsPayload candidateGroupsPayload)  
      void addCandidateUsers​(CandidateUsersPayload candidateUsersPayload)  
      Task assign​(AssignTaskPayload assignTaskPayload)
      Assign a task that has been claimed before to a different user - Only the current assignee can perform the action - The new assignee should be part of the candidate users for this task
      Task claim​(ClaimTaskPayload claimTaskPayload)
      Claim a task with the currently authenticated user - If there is no authenticated user throw an IllegalStateException - If the currently authenticated user is not a candidate throw an IllegalStateException - The current approach doesn't support impersonation, it will always take the currently authenticated user - after the claim the task should be in assigned status
      Task complete​(CompleteTaskPayload completeTaskPayload)
      Completes the selected task with the variables set in the payload - This method checks that the task is visible by the authenticated user - This method also check that the task is assigned to the currently authenticated user before complete - This method return a shallow Task object with the basic information needed to validate that the task was completed
      TaskRuntimeConfiguration configuration()  
      Task create​(CreateTaskPayload createTaskPayload)
      Creates a task based on the following rules - If an assignee is provided it creates and assign the task to the provided user - If there is no assignee the task is not assigned, just created - The owner of the task is the currently authenticated user (which is automatically added as a candidate) - If a group or list of groups is provided those groups are added as candidates for claiming the task
      void createVariable​(CreateTaskVariablePayload createTaskVariablePayload)  
      Task delete​(DeleteTaskPayload deleteTaskPayload)
      Deletes a task - The authenticated user should be able to see the task in order to delete it - The authenticated user needs to be the assignee of the task in order to delete it - this method returns a shallow Task with the necessary information to validate that the task was deleted
      void deleteCandidateGroups​(CandidateGroupsPayload candidateGroupsPayload)  
      void deleteCandidateUsers​(CandidateUsersPayload candidateUsersPayload)  
      List<String> groupCandidates​(String taskId)  
      Task release​(ReleaseTaskPayload releaseTaskPayload)
      Release a previously claimed task - The authenticated user needs to be the assignee in order to release it
      void save​(SaveTaskPayload saveTaskPayload)
      Saves the selected task with the variables set in the payload in the task scope - This method checks that the task is visible by the authenticated user - This method also check that the task is assigned to the currently authenticated user
      Task task​(String taskId)
      Get task by id if the authenticated user: - is the assignee or - is in a group with is assigned to the task or - has admin role
      Page<Task> tasks​(Pageable pageable)
      Get all tasks where - the authenticated user is the actual assignee - the user belongs to a group that is a candidate for the task
      Page<Task> tasks​(Pageable pageable, GetTasksPayload getTasksPayload)
      Get all tasks where applying the filters in the Payload - the authenticated user is the actual assignee - the user belongs to a group that is a candidate for the task
      Task update​(UpdateTaskPayload updateTaskPayload)
      Updates details of a task - The authenticated user should be able to see the task in order to update its details - The authenticated user needs to be the assignee of the task to update its details, if not he/she will need to claim the task first
      void updateVariable​(UpdateTaskVariablePayload updateTaskVariablePayload)  
      List<String> userCandidates​(String taskId)  
      List<VariableInstance> variables​(GetTaskVariablesPayload getTaskVariablesPayload)  
    • Method Detail

      • task

        Task task​(String taskId)
        Get task by id if the authenticated user: - is the assignee or - is in a group with is assigned to the task or - has admin role
      • tasks

        Page<Task> tasks​(Pageable pageable)
        Get all tasks where - the authenticated user is the actual assignee - the user belongs to a group that is a candidate for the task
      • tasks

        Page<Task> tasks​(Pageable pageable,
                         GetTasksPayload getTasksPayload)
        Get all tasks where applying the filters in the Payload - the authenticated user is the actual assignee - the user belongs to a group that is a candidate for the task
      • create

        Task create​(CreateTaskPayload createTaskPayload)
        Creates a task based on the following rules - If an assignee is provided it creates and assign the task to the provided user - If there is no assignee the task is not assigned, just created - The owner of the task is the currently authenticated user (which is automatically added as a candidate) - If a group or list of groups is provided those groups are added as candidates for claiming the task
      • claim

        Task claim​(ClaimTaskPayload claimTaskPayload)
        Claim a task with the currently authenticated user - If there is no authenticated user throw an IllegalStateException - If the currently authenticated user is not a candidate throw an IllegalStateException - The current approach doesn't support impersonation, it will always take the currently authenticated user - after the claim the task should be in assigned status
      • release

        Task release​(ReleaseTaskPayload releaseTaskPayload)
        Release a previously claimed task - The authenticated user needs to be the assignee in order to release it
      • complete

        Task complete​(CompleteTaskPayload completeTaskPayload)
        Completes the selected task with the variables set in the payload - This method checks that the task is visible by the authenticated user - This method also check that the task is assigned to the currently authenticated user before complete - This method return a shallow Task object with the basic information needed to validate that the task was completed
      • save

        void save​(SaveTaskPayload saveTaskPayload)
        Saves the selected task with the variables set in the payload in the task scope - This method checks that the task is visible by the authenticated user - This method also check that the task is assigned to the currently authenticated user
      • update

        Task update​(UpdateTaskPayload updateTaskPayload)
        Updates details of a task - The authenticated user should be able to see the task in order to update its details - The authenticated user needs to be the assignee of the task to update its details, if not he/she will need to claim the task first
      • delete

        Task delete​(DeleteTaskPayload deleteTaskPayload)
        Deletes a task - The authenticated user should be able to see the task in order to delete it - The authenticated user needs to be the assignee of the task in order to delete it - this method returns a shallow Task with the necessary information to validate that the task was deleted
      • assign

        Task assign​(AssignTaskPayload assignTaskPayload)
        Assign a task that has been claimed before to a different user - Only the current assignee can perform the action - The new assignee should be part of the candidate users for this task