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
Tayyab Bashir Community Champion Oct 14, 2017

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

Tayyab Bashir Community Champion Oct 16, 2017

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 Join to answer
Community showcase
Teodora [Botron]
Published Thursday in Marketplace Apps

Jira Inferno: The Nine Circles of Jira Administration Hell

If you spend enough time as a Jira admin - whether you are managing a single, mid-sized instance, a large enterprise one or juggling multiple instances at once - you will eventually find yourself in ...

308 views 0 12
Read article

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
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot