Class WorkflowHistoryOperations


  • public class WorkflowHistoryOperations
    extends Object
    • Constructor Detail

      • WorkflowHistoryOperations

        public WorkflowHistoryOperations()
    • Method Detail

      • createHistoricProcessInstanceQuery

        public static org.camunda.bpm.engine.history.HistoricProcessInstanceQuery createHistoricProcessInstanceQuery()
        Creates a new programmatic query to search for HistoricProcessInstances.
        Returns:
        HistoricProcessInstanceQuery
      • createHistoricActivityInstanceQuery

        public static org.camunda.bpm.engine.history.HistoricActivityInstanceQuery createHistoricActivityInstanceQuery()
        Creates a new programmatic query to search for HistoricActivityInstances.
        Returns:
        HistoricActivityInstanceQuery
      • createHistoricActivityStatisticsQuery

        public static org.camunda.bpm.engine.history.HistoricActivityStatisticsQuery createHistoricActivityStatisticsQuery​(String processDefinitionId)
        Query for the number of historic activity instances aggregated by activities of a single process definition.
        Parameters:
        processDefinitionId - String
        Returns:
        HistoricActivityStatisticsQuery
      • createHistoricCaseActivityStatisticsQuery

        public static org.camunda.bpm.engine.history.HistoricCaseActivityStatisticsQuery createHistoricCaseActivityStatisticsQuery​(String caseDefinitionId)
        Query for the number of historic case activity instances aggregated by case activities of a single case definition.
        Parameters:
        caseDefinitionId - String
        Returns:
        HistoricCaseActivityStatisticsQuery
      • createHistoricTaskInstanceQuery

        public static org.camunda.bpm.engine.history.HistoricTaskInstanceQuery createHistoricTaskInstanceQuery()
        Creates a new programmatic query to search for HistoricTaskInstances.
        Returns:
        HistoricTaskInstanceQuery
      • createHistoricDetailQuery

        public static org.camunda.bpm.engine.history.HistoricDetailQuery createHistoricDetailQuery()
        Creates a new programmatic query to search for HistoricDetails.
        Returns:
        HistoricDetailQuery
      • createHistoricVariableInstanceQuery

        public static org.camunda.bpm.engine.history.HistoricVariableInstanceQuery createHistoricVariableInstanceQuery()
        Creates a new programmatic query to search for HistoricVariableInstances.
        Returns:
        HistoricVariableInstanceQuery
      • createUserOperationLogQuery

        public static org.camunda.bpm.engine.history.UserOperationLogQuery createUserOperationLogQuery()
        Creates a new programmatic query to search for UserOperationLogEntry instances.
        Returns:
        UserOperationLogQuery
      • createHistoricIncidentQuery

        public static org.camunda.bpm.engine.history.HistoricIncidentQuery createHistoricIncidentQuery()
        Creates a new programmatic query to search for historic incidents.
        Returns:
        HistoricIncidentQuery
      • createHistoricIdentityLinkLogQuery

        public static org.camunda.bpm.engine.history.HistoricIdentityLinkLogQuery createHistoricIdentityLinkLogQuery()
        Creates a new programmatic query to search for historic identity links.
        Returns:
        HistoricIdentityLinkLogQuery
      • createHistoricCaseInstanceQuery

        public static org.camunda.bpm.engine.history.HistoricCaseInstanceQuery createHistoricCaseInstanceQuery()
        Creates a new programmatic query to search for HistoricCaseInstances.
        Returns:
        HistoricCaseInstanceQuery
      • createHistoricCaseActivityInstanceQuery

        public static org.camunda.bpm.engine.history.HistoricCaseActivityInstanceQuery createHistoricCaseActivityInstanceQuery()
        Creates a new programmatic query to search for HistoricCaseActivityInstances.
        Returns:
        HistoricCaseActivityInstanceQuery
      • createHistoricDecisionInstanceQuery

        public static org.camunda.bpm.engine.history.HistoricDecisionInstanceQuery createHistoricDecisionInstanceQuery()
        Creates a new programmatic query to search for HistoricDecisionInstances.

        If the user has no Permissions.READ_HISTORY permission on Resources.DECISION_DEFINITION then the result of the query is empty.

        Returns:
        HistoricDecisionInstanceQuery
      • deleteHistoricTaskInstance

        public static void deleteHistoricTaskInstance​(String taskId)
        Deletes historic task instance. This might be useful for tasks that are dynamically created and then completed. If the historic task instance doesn't exist, no exception is thrown and the method returns normal.
        Parameters:
        taskId - String
        Throws:
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION.
      • deleteHistoricProcessInstance

        public static void deleteHistoricProcessInstance​(String processInstanceId)
        Deletes historic process instance. All historic activities, historic task and historic details (variable updates, form properties) are deleted as well.
        Parameters:
        processInstanceId - String
        Throws:
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION.
      • deleteHistoricProcessInstances

        public static void deleteHistoricProcessInstances​(List<String> processInstanceIds)
        Deletes historic process instances. All historic activities, historic task and historic details (variable updates, form properties) are deleted as well.
        Parameters:
        processInstanceIds - Lista
        Throws:
        org.camunda.bpm.engine.BadUserRequestException - when no process instances are found with the given ids or ids are null.
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION.
      • deleteHistoricProcessInstancesBulk

        public static void deleteHistoricProcessInstancesBulk​(List<String> processInstanceIds)
        Deletes historic process instances and all related historic data in bulk manner. DELETE SQL statement will be created for each entity type. They will have list of given process instance ids in IN clause. Therefore, DB limitation for number of values in IN clause must be taken into account.
        Parameters:
        processInstanceIds - list of process instance ids for removal
        Throws:
        org.camunda.bpm.engine.BadUserRequestException - when no process instances are found with the given ids or ids are null or when some of the process instances are not finished yet
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION.
      • cleanUpHistoryAsync

        public static org.camunda.bpm.engine.runtime.Job cleanUpHistoryAsync()
        Schedules history cleanup job at batch window start time. The job will delete historic data for finished process, decision and case instances, and batch operations taking into account ResourceDefinition.getHistoryTimeToLive(), ResourceDefinition.getHistoryTimeToLive(), ResourceDefinition.getHistoryTimeToLive(), ProcessEngineConfigurationImpl.getBatchOperationHistoryTimeToLive() and ProcessEngineConfigurationImpl.getBatchOperationsForHistoryCleanup() values.
        Returns:
        history cleanup job. NB! As of v. 7.9.0, method does not guarantee to return a job. Use findHistoryCleanupJobs() instead.
        Throws:
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION
      • cleanUpHistoryAsync

        public static org.camunda.bpm.engine.runtime.Job cleanUpHistoryAsync​(boolean immediatelyDue)
        Schedules history cleanup job at batch window start time. The job will delete historic data for finished process, decision and case instances, and batch operations taking into account ResourceDefinition.getHistoryTimeToLive(), ResourceDefinition.getHistoryTimeToLive(), ResourceDefinition.getHistoryTimeToLive(), ProcessEngineConfigurationImpl.getBatchOperationHistoryTimeToLive() and ProcessEngineConfigurationImpl.getBatchOperationsForHistoryCleanup() values.
        Parameters:
        immediatelyDue - must be true if cleanup must be scheduled at once, otherwise is will be scheduled according to configured batch window
        Returns:
        history cleanup job. Job id can be used to check job logs, incident etc.
        Throws:
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION
      • findHistoryCleanupJob

        public static org.camunda.bpm.engine.runtime.Job findHistoryCleanupJob()
        Deprecated.
        As of v. 7.9.0, because there can be more than one history cleanup job at once, use findHistoryCleanupJobs() instead.
        Finds history cleanup job, if present.
        Returns:
        job entity
      • findHistoryCleanupJobs

        public static List<org.camunda.bpm.engine.runtime.Job> findHistoryCleanupJobs()
        Finds history cleanup job if present.
        Returns:
        job entity
      • deleteHistoricProcessInstancesAsync

        public static org.camunda.bpm.engine.batch.Batch deleteHistoricProcessInstancesAsync​(List<String> processInstanceIds,
                                                                                             String deleteReason)
        Deletes historic process instances asynchronously. All historic activities, historic task and historic details (variable updates, form properties) are deleted as well.
        Parameters:
        processInstanceIds - Lista
        deleteReason - String
        Returns:
        Batch
        Throws:
        org.camunda.bpm.engine.BadUserRequestException - when no process instances is found with the given ids or ids are null.
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.CREATE permission on Resources.BATCH.
      • deleteHistoricProcessInstancesAsync

        public static org.camunda.bpm.engine.batch.Batch deleteHistoricProcessInstancesAsync​(org.camunda.bpm.engine.history.HistoricProcessInstanceQuery query,
                                                                                             String deleteReason)
        Deletes historic process instances asynchronously based on query. All historic activities, historic task and historic details (variable updates, form properties) are deleted as well.
        Parameters:
        query - HistoricProcessInstanceQuery
        deleteReason - String
        Returns:
        Batch
        Throws:
        org.camunda.bpm.engine.BadUserRequestException - when no process instances is found with the given ids or ids are null.
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.CREATE permission on Resources.BATCH.
      • deleteHistoricProcessInstancesAsync

        public static org.camunda.bpm.engine.batch.Batch deleteHistoricProcessInstancesAsync​(List<String> processInstanceIds,
                                                                                             org.camunda.bpm.engine.history.HistoricProcessInstanceQuery query,
                                                                                             String deleteReason)
        Deletes historic process instances asynchronously based on query and a list of process instances. Query result and list of ids will be merged. All historic activities, historic task and historic details (variable updates, form properties) are deleted as well.
        Parameters:
        processInstanceIds - Lista
        query - HistoricProcessInstanceQuery
        deleteReason - String
        Returns:
        Batch
        Throws:
        org.camunda.bpm.engine.BadUserRequestException - when no process instances is found with the given ids or ids are null.
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.CREATE permission on Resources.BATCH.
      • deleteUserOperationLogEntry

        public static void deleteUserOperationLogEntry​(String entryId)
        Deletes a user operation log entry. Does not cascade to any related entities.
        Parameters:
        entryId - String
        Throws:
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.PROCESS_DEFINITION.
      • deleteHistoricCaseInstance

        public static void deleteHistoricCaseInstance​(String caseInstanceId)
        Deletes historic case instance. All historic case activities, historic task and historic details are deleted as well.
        Parameters:
        caseInstanceId - String
      • deleteHistoricCaseInstancesBulk

        public static void deleteHistoricCaseInstancesBulk​(List<String> caseInstanceIds)
        Deletes historic case instances and all related historic data in bulk manner. DELETE SQL statement will be created for each entity type. They will have list of given case instance ids in IN clause. Therefore, DB limitation for number of values in IN clause must be taken into account.
        Parameters:
        caseInstanceIds - list of case instance ids for removal
      • deleteHistoricDecisionInstance

        public static void deleteHistoricDecisionInstance​(String decisionDefinitionId)
        Deprecated.
        Note that this method name is not expressive enough, because it is also possible to delete the historic decision instance by the instance id. Therefore use deleteHistoricDecisionInstanceByDefinitionId(java.lang.String) instead to delete the historic decision instance by the definition id.
        Deletes historic decision instances of a decision definition. All historic decision inputs and outputs are deleted as well.
        Parameters:
        decisionDefinitionId - the id of the decision definition
        Throws:
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.DECISION_DEFINITION.
      • deleteHistoricDecisionInstancesBulk

        public static void deleteHistoricDecisionInstancesBulk​(List<String> decisionInstanceIds)
        Deletes decision instances and all related historic data in bulk manner. DELETE SQL statement will be created for each entity type. They will have list of given decision instance ids in IN clause. Therefore, DB limitation for number of values in IN clause must be taken into account.
        Parameters:
        decisionInstanceIds - list of decision instance ids for removal.
        Throws:
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.DECISION_DEFINITION.
      • deleteHistoricDecisionInstanceByDefinitionId

        public static void deleteHistoricDecisionInstanceByDefinitionId​(String decisionDefinitionId)
        Deletes historic decision instances of a decision definition. All historic decision inputs and outputs are deleted as well.
        Parameters:
        decisionDefinitionId - the id of the decision definition
        Throws:
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.DECISION_DEFINITION.
      • deleteHistoricDecisionInstanceByInstanceId

        public static void deleteHistoricDecisionInstanceByInstanceId​(String historicDecisionInstanceId)
        Deletes historic decision instances by its id. All historic decision inputs and outputs are deleted as well.
        Parameters:
        historicDecisionInstanceId - the id of the historic decision instance
        Throws:
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE_HISTORY permission on Resources.DECISION_DEFINITION.
      • deleteHistoricDecisionInstancesAsync

        public static org.camunda.bpm.engine.batch.Batch deleteHistoricDecisionInstancesAsync​(List<String> decisionInstanceIds,
                                                                                              String deleteReason)
        Deletes historic decision instances asynchronously based on a list of decision instances.
        Parameters:
        decisionInstanceIds - Lista
        deleteReason - String
        Returns:
        Batch
        Throws:
        org.camunda.bpm.engine.BadUserRequestException - when no decision instances are found with the given ids or ids are null.
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.CREATE permission on Resources.BATCH.
      • deleteHistoricDecisionInstancesAsync

        public static org.camunda.bpm.engine.batch.Batch deleteHistoricDecisionInstancesAsync​(org.camunda.bpm.engine.history.HistoricDecisionInstanceQuery query,
                                                                                              String deleteReason)
        Deletes historic decision instances asynchronously based on query of decision instances.
        Parameters:
        query - HistoricDecisionInstanceQuery
        deleteReason - String
        Returns:
        Batch
        Throws:
        org.camunda.bpm.engine.BadUserRequestException - when no decision instances are found with the given ids or ids are null.
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.CREATE permission on Resources.BATCH.
      • deleteHistoricDecisionInstancesAsync

        public static org.camunda.bpm.engine.batch.Batch deleteHistoricDecisionInstancesAsync​(List<String> decisionInstanceIds,
                                                                                              org.camunda.bpm.engine.history.HistoricDecisionInstanceQuery query,
                                                                                              String deleteReason)
        Deletes historic decision instances asynchronously based on query and a list of decision instances, whereby query result and list of ids will be merged.
        Parameters:
        decisionInstanceIds - Lista
        query - HistoricDecisionInstanceQuery
        deleteReason - String
        Returns:
        Batch
        Throws:
        org.camunda.bpm.engine.BadUserRequestException - when no decision instances are found with the given ids or ids are null.
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.CREATE permission on Resources.BATCH.
      • createNativeHistoricProcessInstanceQuery

        public static org.camunda.bpm.engine.history.NativeHistoricProcessInstanceQuery createNativeHistoricProcessInstanceQuery()
        creates a native query to search for HistoricProcessInstances via SQL
        Returns:
        NativeHistoricProcessInstanceQuery
      • createNativeHistoricTaskInstanceQuery

        public static org.camunda.bpm.engine.history.NativeHistoricTaskInstanceQuery createNativeHistoricTaskInstanceQuery()
        creates a native query to search for HistoricTaskInstances via SQL
        Returns:
        NativeHistoricTaskInstanceQuery
      • createNativeHistoricActivityInstanceQuery

        public static org.camunda.bpm.engine.history.NativeHistoricActivityInstanceQuery createNativeHistoricActivityInstanceQuery()
        creates a native query to search for HistoricActivityInstances via SQL
        Returns:
        NativeHistoricActivityInstanceQuery
      • createNativeHistoricCaseInstanceQuery

        public static org.camunda.bpm.engine.history.NativeHistoricCaseInstanceQuery createNativeHistoricCaseInstanceQuery()
        creates a native query to search for HistoricCaseInstances via SQL
        Returns:
        NativeHistoricCaseInstanceQuery
      • createNativeHistoricCaseActivityInstanceQuery

        public static org.camunda.bpm.engine.history.NativeHistoricCaseActivityInstanceQuery createNativeHistoricCaseActivityInstanceQuery()
        creates a native query to search for HistoricCaseActivityInstances via SQL
        Returns:
        NativeHistoricCaseActivityInstanceQuery
      • createNativeHistoricDecisionInstanceQuery

        public static org.camunda.bpm.engine.history.NativeHistoricDecisionInstanceQuery createNativeHistoricDecisionInstanceQuery()
        creates a native query to search for HistoricDecisionInstances via SQL
        Returns:
        NativeHistoricDecisionInstanceQuery
      • createNativeHistoricVariableInstanceQuery

        public static org.camunda.bpm.engine.history.NativeHistoricVariableInstanceQuery createNativeHistoricVariableInstanceQuery()
        creates a native query to search for HistoricVariableInstances via SQL
        Returns:
        NativeHistoricVariableInstanceQuery
      • createHistoricJobLogQuery

        public static org.camunda.bpm.engine.history.HistoricJobLogQuery createHistoricJobLogQuery()
        Creates a new programmatic query to search for historic job logs.
        Returns:
        HistoricJobLogQuery
        Since:
        7.3
      • getHistoricJobLogExceptionStacktrace

        public static String getHistoricJobLogExceptionStacktrace​(String historicJobLogId)
        Returns the full stacktrace of the exception that occurs when the historic job log with the given id was last executed. Returns null when the historic job log has no exception stacktrace.
        Parameters:
        historicJobLogId - id of the historic job log, cannot be null.
        Returns:
        String
        Throws:
        org.camunda.bpm.engine.ProcessEngineException - when no historic job log exists with the given id.
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.READ_HISTORY permission on Resources.PROCESS_DEFINITION.
        Since:
        7.3
      • createHistoricProcessInstanceReport

        public static org.camunda.bpm.engine.history.HistoricProcessInstanceReport createHistoricProcessInstanceReport()
        Creates a new programmatic query to create a historic process instance report.
        Returns:
        HistoricProcessInstanceReport
        Since:
        7.5
      • createHistoricTaskInstanceReport

        public static org.camunda.bpm.engine.history.HistoricTaskInstanceReport createHistoricTaskInstanceReport()
        Creates a new programmatic query to create a historic task instance report.
        Returns:
        HistoricTaskInstanceReport
        Since:
        7.6
      • createCleanableHistoricProcessInstanceReport

        public static org.camunda.bpm.engine.history.CleanableHistoricProcessInstanceReport createCleanableHistoricProcessInstanceReport()
        Creates a new programmatic query to create a cleanable historic process instance report.
        Returns:
        CleanableHistoricProcessInstanceReport
        Since:
        7.8
      • createCleanableHistoricDecisionInstanceReport

        public static org.camunda.bpm.engine.history.CleanableHistoricDecisionInstanceReport createCleanableHistoricDecisionInstanceReport()
        Creates a new programmatic query to create a cleanable historic decision instance report.
        Returns:
        CleanableHistoricDecisionInstanceReport
        Since:
        7.8
      • createCleanableHistoricCaseInstanceReport

        public static org.camunda.bpm.engine.history.CleanableHistoricCaseInstanceReport createCleanableHistoricCaseInstanceReport()
        Creates a new programmatic query to create a cleanable historic case instance report.
        Returns:
        CleanableHistoricCaseInstanceReport
        Since:
        7.8
      • createCleanableHistoricBatchReport

        public static org.camunda.bpm.engine.history.CleanableHistoricBatchReport createCleanableHistoricBatchReport()
        Creates a new programmatic query to create a cleanable historic batch report.
        Returns:
        CleanableHistoricBatchReport
        Since:
        7.8
      • createHistoricBatchQuery

        public static org.camunda.bpm.engine.batch.history.HistoricBatchQuery createHistoricBatchQuery()
        Creates a query to search for HistoricBatch instances.
        Returns:
        HistoricBatchQuery
        Since:
        7.5
      • deleteHistoricBatch

        public static void deleteHistoricBatch​(String id)
        Deletes a historic batch instance. All corresponding historic job logs are deleted as well;
        Parameters:
        id - String
        Throws:
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.DELETE permission on Resources.BATCH
        Since:
        7.5
      • createHistoricDecisionInstanceStatisticsQuery

        public static org.camunda.bpm.engine.history.HistoricDecisionInstanceStatisticsQuery createHistoricDecisionInstanceStatisticsQuery​(String decisionRequirementsDefinitionId)
        Query for the statistics of DRD evaluation.
        Parameters:
        decisionRequirementsDefinitionId - - id of decision requirement definition
        Returns:
        HistoricDecisionInstanceStatisticsQuery
        Since:
        7.6
      • createHistoricExternalTaskLogQuery

        public static org.camunda.bpm.engine.history.HistoricExternalTaskLogQuery createHistoricExternalTaskLogQuery()
        Creates a new programmatic query to search for historic external task logs.
        Returns:
        HistoricExternalTaskLogQuery
        Since:
        7.7
      • getHistoricExternalTaskLogErrorDetails

        public static String getHistoricExternalTaskLogErrorDetails​(String historicExternalTaskLogId)
        Returns the full error details that occurs when the historic external task log with the given id was last executed. Returns null when the historic external task log contains no error details.
        Parameters:
        historicExternalTaskLogId - id of the historic external task log, cannot be null.
        Returns:
        String
        Throws:
        org.camunda.bpm.engine.ProcessEngineException - when no historic external task log exists with the given id.
        org.camunda.bpm.engine.AuthorizationException - If the user has no Permissions.READ_HISTORY permission on Resources.PROCESS_DEFINITION.
        Since:
        7.7