On this page

Use case

Avoid all the manual work by automatically closing stories when the epic is completed.


Issue transitioned event

Create a new rule and name it appropriately.

Providing a description will help you to identify what the rule does but this step is optional.

Add a Trigger → Issue transitioned event

Boolean condition

Add the following boolean expression:

%{trigger.issue.status} = "Done"

Issue selector

Next to the JQL condition click on Add → Selector → Issue selector.

Target issue(s)

Select Issues under epic/ stories

Boolean condition

Next to the Issue selector click on Add → Condition → Boolean condition

Add the following expression:

%{selector.issue.status} != "Done"

Transition issue

Next to the JQL condition click on Add → Action → Transition issue

Mode

Choose transition to status

Status

Choose Done

Enable the rule by clicking on the Enable button → 


Screencast

No screencast available at the moment.


Import the example

Import the JSON file below to get started in no time.

JSON

After importing the JSON file, make sure to check the configuration of the rule. Non-existing configuration elements (issue types, fields, values etc.) will be highlighted.

{
    "name": "Close stories when epic is done",
    "description": "",
    "creator": "admin",
    "status": false,
    "triggerData": "",
    "triggerType": "ISSUE_TRANSITIONED_EVENT",
    "configuration": {
        "refs": [
            "issue",
            "system",
            "trigger.issue",
            "trigger.parent"
        ],
        "triggerType": ""
    },
    "children": [
        {
            "sequence": 0,
            "type": "BOOLEAN_CONDITION",
            "ruleEntityType": "CONDITION",
            "configuration": {
                "refs": [
                    "issue",
                    "project",
                    "system",
                    "trigger",
                    "trigger.issue",
                    "trigger.parent"
                ],
                "expression": "%{trigger.issue.status} = \"Done\"",
                "expressionParsingMode": "logical",
                "actingUser": "field_00020"
            },
            "children": [
                {
                    "sequence": 1,
                    "type": "ISSUE_SELECTOR",
                    "ruleEntityType": "SELECTOR",
                    "configuration": {
                        "refs": [
                            "issue",
                            "project",
                            "system",
                            "trigger",
                            "trigger.issue",
                            "trigger.parent"
                        ],
                        "option": "stories",
                        "issueListExpressionParsingMode": "issues",
                        "actingUser": "field_00020"
                    },
                    "children": [
                        {
                            "sequence": 1,
                            "type": "BOOLEAN_CONDITION",
                            "ruleEntityType": "CONDITION",
                            "configuration": {
                                "refs": [
                                    "issue",
                                    "issues",
                                    "project",
                                    "selector.issue",
                                    "selector.parent",
                                    "system",
                                    "trigger",
                                    "trigger.issue",
                                    "trigger.parent"
                                ],
                                "expression": "%{selector.issue.status} != \"Done\"",
                                "expressionParsingMode": "logical",
                                "actingUser": "field_00020"
                            },
                            "children": [
                                {
                                    "sequence": 1,
                                    "type": "TRANSITION_ISSUE",
                                    "ruleEntityType": "ACTION",
                                    "configuration": {
                                        "refs": [
                                            "issue",
                                            "issues",
                                            "project",
                                            "selector.issue",
                                            "selector.parent",
                                            "system",
                                            "trigger",
                                            "trigger.issue",
                                            "trigger.parent"
                                        ],
                                        "option": "status",
                                        "status": "10012",
                                        "actingUser": "field_00020"
                                    },
                                    "children": null,
                                    "hasChildren": false
                                }
                            ],
                            "hasChildren": true
                        }
                    ],
                    "hasChildren": true
                }
            ],
            "hasChildren": true
        }
    ],
    "hasChildren": true
}



If you still have questions, feel free to refer to our support team.