How an issue transition can update all sub-task in the same status ?

Hi everyone,

I have an issue with some sub-task and I want to synchronise the status between issue and sub-task.

In fact I want that when an user change the status on an issue this is change the status of alls sub-task.

 

I want to add a ScriptRunner postfunction to all transitions of the issue workflow that update the status in all sub-task of the current issue.

Does anyone can help me ?

 

1 answer

1 accepted

0 votes
Accepted answer

Hi,

You would be able to do that with the help of "Script Listeners" from your ScriptRunner plugin.

So add a new script custom listener, refine down the projects you want it for (or select for All the projects). 
Then select the Event which is triggered when your workflow status is changed.

That is, you need to figure out what Event is being fired in post-functioning of a transitioning. (Usually Issue Updated Event is set up, if not you could also test it with "All Issue Events")

The following script would transition all subtasks to the same status as their parent.

def subTaskObjects = issue.getSubTaskObjects()

def subTaskStatus
def currentSubTask

if (subTaskObjects){
def parentStatus = issue.getStatus()
for (int i=0; i<subTaskObjects.size(); i++){
subTaskStatus = subTaskObjects[i].getStatus()
currentSubTask = subTaskObjects[i]

if (subTaskStatus != parentStatus){
currentSubTask.setStatus(parentStatus)
currentSubTask.store()
}
}
}

Hello,

Thanks for your answer but sorry it doesn't work and I'm a newbbie.

When I use your script I have an error (issue not define) so I must add the line "def issue = event.issue" at the top of your script.

But I have another error and a warning...

At the line : currentSubTask.setStatus(parentStatus)

"Cannot find matching method"

At the line : currentSubTask.store()

"Use the Object's Service or Manager to save value. Since v5.0."

We use Jira v7.1.2 and ScriptRunner v5.0.14.

Thanks for your help.

Stéphane

It would work.
Just create a custom listener and make it run on all events for test purpose. 
then add the code in "inline script area'. 
(issue is a keyword that would be resolved on the issue level)

Do the above, and transition the parent issue to another status, all it;s sub-tasks would also get transistioned.

Yes I have saved it and despite the error and alert reported it works.

Thanks you so much.

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Monday in Confluence

Organizing your space just got easier - Page Tree Drag & Drop is here

Hi Community! I’m Elaine, Confluence Product Manager. You may have read my earlier post about page tree in space navigation sidebar. I'm excited to share another improvement that helps you organize ...

62 views 3 2
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you