I implemented a script runner post action that was intended to transition all subtasks.
The script works fine, but fails for some subtasks. After investigation I find that those issues are commented or has previously been commented by a user that was deleted from the system.
Yes I know users should not be deleted, but this seems to be one of those manual mistakes that happens in a large organization.
After recreating the user the script runs fine.
But I don't understand why the validator prevents transition because of an old comment?
Manual transition does not care?
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 { setSkipScreenCheck(true) } // validate and transition subtask
def validationResult = issueService.validateTransition(user, it.id, 21, 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}") } } }
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.