Interface ProgressAwareBulkOperation

All Superinterfaces:
IssueOperation
All Known Subinterfaces:
BulkMoveOperation
All Known Implementing Classes:
BulkArchiveOperation, BulkDeleteOperation, BulkEditOperation, BulkMigrateOperation, BulkMoveOperationImpl, BulkTransitionIssueOperation, BulkUnwatchOperation, BulkWatchOperation, BulkWorkflowTransitionOperation

@PublicSpi public interface ProgressAwareBulkOperation extends IssueOperation
This interface allows bulk operations to perform bulk operations and report back the progress.

Bulk operations are added by plugins via BulkOperationManager.addProgressAwareBulkOperation(String, Class).

Since:
6.3.6
  • Method Details

    • getOperationName

      String getOperationName()
      Returns the "operation name".

      This is used to build up the name of the action used to render the details screen in the bulk change UI.

      The action name that is generated as operationName + "Details.jspa". See BulkChooseOperation for details

      Returns:
      The "operation name"
    • getCannotPerformMessageKey

      String getCannotPerformMessageKey()
      An i18n key to be used to render the error message to be displayed when the user can not perform this bulk operation.
      Returns:
      An i18n key to be used to render the error message to be displayed when the user can not perform this bulk operation.
    • canPerform

      boolean canPerform(BulkEditBean bulkEditBean, ApplicationUser remoteUser)
      Determines whether the operation can be performed with the given set of issues
      See Also:
    • perform

      void perform(BulkEditBean bulkEditBean, ApplicationUser remoteUser, Context taskContext) throws BulkOperationException
      Performs the operation on the given set of issues and updates the progress.

      During execution, the implementation class will update the progress by typically calling Context.start(object); on the context passed to get a task object, and subsequently call Context.Task.complete(); on the the task object to indicate task has finished.

      Throws:
      BulkOperationException
    • getNumberOfTasks

      int getNumberOfTasks(BulkEditBean bulkEditBean)
      Returns number of tasks/stages to be executed as part of this bulk operation. The number returned here must be consistent with the number of updates performed as part of perform(com.atlassian.jira.web.bean.BulkEditBean, com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.task.context.Context).
      Returns:
      Number of tasks/stages to be executed