Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to change parent resolution from the sub-task using script runner?

Bunty
Contributor
January 30, 2019

Hello All,

I'm trying to change the parent issue resolution from the sub-task.

I've automated the parent status from the sub-task everything is working fine but the resolution is not changing as i expected.

when i changing the parent status manually resolution is changing but when I am changing the parent status from the sub-task the resolution is not changing.

Below is the script I am using in the sub-task script runner post function to change the status of the parent issue. 

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.config.ResolutionManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueImpl
import com.atlassian.jira.issue.MutableIssue
import org.apache.log4j.Category

Category log = log
log.setLevel(org.apache.log4j.Level.DEBUG);

if( issue.getIssueType().getName().equals("Testing"))
{
log.info(issue.getIssueType().getName())
log.info(issue.getStatus().getStatusCategory().getName())

Issue parentIssue = issue.getParentObject()
log.info(parentIssue.getIssueType())
log.info(parentIssue.getIssueType().getName())
log.info(parentIssue.key)

log.info("Updating the parent issue to Ready To Release")
((IssueImpl) parentIssue).setStatusId("10454");
((IssueImpl) parentIssue).store();


def resolutionManager = ComponentAccessor.getComponent(ResolutionManager)
def issueLinkManager = ComponentAccessor.getIssueLinkManager()
log.info("Getting outward links...")
issueLinkManager.getOutwardLinks(parentIssue.getId()).each {
issueLink ->
MutableIssue linkIssue = issueLink.getDestinationObject() as MutableIssue
log.info(linkIssue.getIssueType())
log.info(linkIssue.getIssueType().getName())
log.info(linkIssue.key)
if(linkIssue.getIssueType().getName().equals("Acrolinx"))
{
((IssueImpl) linkIssue).setStatusId("10454");
((IssueImpl) linkIssue).store();
if(linkIssue.getIssueType().getName().equals("Acrolinx"))
{
if (! issue.getResolution() )
{
issue.setResolution(resolutionManager.getResolutionByName("Waiting for Release"))
log.info("Getting Inward links for Acrolinx")
issueLinkManager.getInwardLinks(parentIssue.getId()).each {
iLink ->
MutableIssue lIssue = iLink.getDestinationObject() as MutableIssue
log.info(lIssue.getIssueType())
log.info(lIssue.getIssueType().getName())
log.info(lIssue.key)
}
}
}
}
}
}

 

Any help would be appreciated!!

Thanks,

Bunty

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events