Required plugins
Problem
An issue should not be able to close if any of the child or linked issues is not closed.
Solution
One will need to add a SIL condition on the close transition which will verify the statuses of all dependencies (child and linked issues). If any of the dependencies is not already closed the condition will return false.
Determine which dependencies need to restrict the transition
For the sake of this exercise we will consider that all subtasks need to be closed in order to let an issue to be closed.
Add a new condition
Log in as an administrator and navigate to Administration-> Workflows and edit "Close" transition on the default JIRA workflow. Press `Add` a new condition:
Writing the SIL code
// get all subtasks string s_tasks=subtasks(key); // process each subtask for(string s in s_tasks) // if subtasks' status is not closed the transition cannot be available and therefore return false if(%s%.status != "Closed") return false; // if not failed yet then the transition should be available return true;