Objective: If an epic is blocked by other epics, when all the blocking epics are moved to done then the main epic should automatically be moved to done.
I am able to achieve this with child issues of an epic but NOT when epics are linked to each other.
Hi @Jeanne.Schiller -- Welcome to the Atlassian Community
You could use JQL functions to find the linked epics, loading them into a Lookup Issues action, and then use smart value list filtering to find if they are all done. Here are the relevant links for those features:
more details this is the function I'm using.
It works when the blocking epics are in the same project. BUT when blocking issues are in another project the status updates of those external epics won't trigger the change of the epic status to Done.
If all external blocking epics are set to done and an internal blocking epic is marked as done last everything works perfectly. But if the last epic to transition to done is not in the same project it won't trigger the status change on the blocked epic.
First thing: you appear to need a global/multi-project scope rule and you also appear to be on a Standard, Jira Cloud license. That means each triggering of this rule counts against your monthly limits. Take head that however you build your rule it does not exceed the limits, and so stop rule processing. For example, if you do not need this rule to transition the epic to done immediately, consider using a scheduled trigger instead, perhaps once per day. That may be very relevant as your current rule could theoretically trigger itself...based on processing performance.
Next...The way your rule is written, the Issue Transition action is inside of the branch on the linked issues. As a result, the trigger issue will never be changed; only the linked ones will. This is why I suggested using the Lookup Issues with smart value, list filtering. For example.
Please see the documentation links I provided earlier for more details on Lookup Issues and Smart Value, List Filtering.