I have a basic understanding of why the function won't trigger, but I'm wondering if anyone can provide a workaround.
I have two different workflows: one for Epics and another for Requirements that exist as issues with Epics.
In the Requirements workflow, I have added a Linked Transition (JSU) post function on the transition to the Done status that will trigger a specific transition on its Epic when all of its siblings are in the Done status. Basically, whenever all issues within the Epic are Done, move the Epic to a Ready to Test status. I have confirmed that, on its own, this post function executes properly.
However, I have added a ScriptRunner workflow function on the transition in the Epic workflow that is being updated by the Linked Transition post function I mentioned above. This function checks a JQL query and requires that all issues within the Epic are in the Done status in order for the transition to be allowed. I have confirmed that this condition works properly on its own.
My problem is that, once I add the condition to the Epic workflow, the Linked Transition post function no longer executes. My guess is that there is a timing issue where the Epic isn't fully aware that the last issue in the Epic has transitioned to Done status, so it doesn't allow the transition to execute. Afterwards, I can manually transition the Epic to the Ready to Test status.
I have moved the Linked Transition post function all the way to the bottom of the list of post functions (after the issue is stored in the DB and re-indexed), but this doesn't have any effect. Is there a way that I can notify the Epic that all of its children are in Done status while the final child is transitioning to the Done status so the condition is met?