Features used to implement the example
Example: Restrict parent issue from closing if it has sub-tasks that were created during a given parent issue status
If sub-tasks are raised while the parent is at a status of "Released", the parent cannot be moved to status "Closed" until all sub-tasks are closed.
I believe this will require a new custom field to be populated automatically during the sub-task's "Create" step that contains the parent issue's status.
The logic should then check if parent issue status field in sub-task = "Released" and if so, require it to be closed before the parent can be closed.
Create a "Text field (single line)" custom field in sub-task issue called "Parent status at sub-task's creation"
Insert post-function Copy a parsed text to a field into sub-task's "Create Issue" with the following configuration:
Note that:
- %{00042} is field code for "Parent's issue status" virtual field
- Beware to introduce that post-function after "Creates the issue originally" system post-function
Insert Boolean validator with math, date-time or text-string terms validator into "Close issue" transition in parent's workflow with the following configuration:
Boolean expression used is: count(filterByPredicate(subtasks(), ^%{11900} = "Released" AND ^%{00016} != "Closed")) = 0
Note that:
- %{11900} is field code for "Parent status at subtask's creation" custom field in my particular JIRA instance. You should replace 11900 with the field code in your Jira instance
- %{00016} is field code for "Issue status"
Other examples of that functions
Boolean validator with math, date-time or text-string terms
- Add all assignees of certain sub-task types to a "Multi-User Picker" custom field
- Add and remove a single or a set of items from multi valued fields
- Add current user to comment
- Add or remove request participants
- Add watchers from a part of the issue summary: "Summary_text - watcher1, watcher2, watcher3, ..."
- Assign issue based on the value of a Cascading Select custom field
- Assign issue to last user who executed a certain transition in the workflow
- Automatically close resolved sub-tasks when parent issue is closed
- Automatically reopen parent issue when one of its sub-tasks is reopened
- Calculate the time elapsed between 2 transition executions
- Close parent issue when all sub-tasks are closed
- Combine the values of several Multi-User picker fields
- Compose a parsed text including the "full name" or a user selected in a User Picker custom field
- Compose dynamic text by inserting field values in a text template
- Copy issue labels to a custom field
- Copy the value of a user property into a user picker
- Create a comment in sub-tasks when parent transitions
- Execute transition in epic
- Getting the number of selected values in a custom field of type Multi Select
- Limit the number of hours a user can log per day
- Make a sub-task's status match parent issue's current status on creation
- Make parent issue progress through its workflow
- Moving story to "In Progress" when one of its sub-tasks is moved to "In Progress"
- Moving story to "Ready for QA" once all its sub-tasks are in "Ready for QA" status
- Parse Email adresses to watchers list
- Parsing text from last comment and appending it to issue's summary
- Remove versions selected in a version picker custom field
- Replace certain issue link types with different ones
- Restrict parent issue from closing if it has sub-tasks that were created during a given parent issue status
- Set a Select or Multi-Select field using regular expression to express the values to be assigned
- Set assignee depending on issue type
- Set field depending on time passed since issue creation
- Set priority for issues that have been in a certain status for longer than 24 hours
- Set security level based on groups and project roles the reporter or creator are in
- Transition linked issues in currently active sprint
- Transition only a sub-task among several ones
- Transition parent issue only when certain issue sub-task types are done
- Update Cascading Select custom field with a value of the field in parent issue
- Update checkboxes custom field if a file has been attached during a transition
- Validation on issue attachments
- Validation on MIME types of issue attachments
- Writing a comment to blocked issues when blocking issues are resolved