Auto Close Sub-tasks
Script to Resolve all currently Open sub-tasks.
import com.atlassian.jira.component.ComponentAccessor def issueService = ComponentAccessor.getIssueService() def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser() def subTasks = issue.getSubTaskObjects() subTasks.each { if (it.statusObject.name == "Open") { def issueInputParameters = issueService.newIssueInputParameters() issueInputParameters.with { setResolutionId("1") // resolution of "Fixed" setComment("*Resolving* as a result of the *Resolve* action being applied to the parent.") setSkipScreenCheck(true) } // validate and transition subtask def validationResult = issueService.validateTransition(user, it.id, 5, issueInputParameters) if (validationResult.isValid()) { def issueResult = issueService.transition(user, validationResult) if (!issueResult.isValid()) { log.warn("Failed to transition subtask ${it.key}, errors: ${issueResult.errorCollection}") } } else { log.warn("Could not transition subtask ${it.key}, errors: ${validationResult.errorCollection}") } } }