Page tree
Skip to end of metadata
Go to start of metadata
@WithPlugin("com.kanoah.test-manager")
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.ApplicationUser
import com.opensymphony.workflow.loader.ActionDescriptor
import com.atlassian.jira.issue.Issue


def  actionId = 110

issueTransition(doneAction, currentUser, actionId )

def issueTransition(Lis<Issue> issueList, String actionName, ApplicationUser currentUser, Long testExecutionId) {
    def issueManager = ComponentAccessor.issueManager
    def issueService = ComponentAccessor.issueService

    def issueIds =  issueList*.issueId
    issueIds.each { issueId ->
        def issue = issueManager.getIssueObject(issueId)
        def issueInputParameters = issueService.newIssueInputParameters()
        def action = getAction(actionName, issue)
        if (action == null) {
            throw new RuntimeException("Action '" + actionName +  "' Not Found")
        }
        def validateTransition = issueService.validateTransition(currentUser, issue.id, action.id, issueInputParameters)
        if (validateTransition.isValid()) {
            issueService.transition(currentUser, validateTransition)
        }
    }
}

ActionDescriptor getAction(String actionName, Issue issue) {
    def workflowManager = ComponentAccessor.workflowManager.getWorkflow(issue)
    def actions = workflowManager.getActionsByName(actionName)
    actions.find { action -> action.name == actionName }
}

  • No labels