How to auto close an parent issue when all its subtasks are closed in the same project.
I am trying this by using script runner for JIRA.
Can you guys help me out from here .
Thanks
Harish Kumar
Hi @Harish Kumar,
There is built-in post-function available in scriptrunner called "Transition parent when all subtasks are resolved"
and below script also can do the same for you
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.IssueInputParametersImpl
import com.atlassian.jira.bc.issue.search.SearchService
import com.atlassian.jira.bc.issue.IssueService
def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
def issueManager = ComponentAccessor.issueManager
IssueService issueService = ComponentAccessor.getIssueService()
def linkManager = ComponentAccessor.getIssueLinkManager()
def searchService = ComponentAccessor.getComponent(SearchService.class)
def actionId = 41 //41 is my final state transition ID
def transitionValidationResult
def transitionResult
if(issue.getIssueType().name == "Sub-task"){
def allDone = true
ApplicationUser user = issue.getAssignee()
def parent = issue.getParentObject()
parent.getSubTaskObjects()?.each { subtask ->
if(subtask.getStatus().name == "Unresolved" && subtask != issue)
{
allDone = false
}
}
if(allDone){
transitionValidationResult = issueService.validateTransition(currentUser, parent.id, actionId,new IssueInputParametersImpl())
if (transitionValidationResult.isValid()) {
transitionResult = issueService.transition(currentUser, transitionValidationResult)
if (transitionResult.isValid())
{ log.warn("Transitioned issue $issue through action $actionId") }
else
{ log.warn("Transition result is not valid") }
}else{
log.warn("The transitionValidation is not valid")
}
}
}
BR,
Leo
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.