@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 }
}
|