Keep the priority of parents and sub-tasks in sync

Use case

Often it is necessary to keep parent issues and sub-tasks in sync. To do so, the following automation rule comes with a handy configuration that automatically updates specific sub-tasks' field values with their corresponding parent issue's value.

In our use case we want to automatically update the priority field.


⚒️ Configuration

Field changed 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 → Field Changed Event

Field

Choose Priority

Changed to

Choose Any value

Issue selector

Add SelectorIssue selector → Sub-tasks

No further configuration needed.

Update field configuration

Next to Issue selector click on Add → Action → Update Field

Field

Choose Priority

Update to

Choose Value returned by parsed expression

Parser Expression

Bash
%{trigger.issue.priority}
# Since we want to get the value from that issue that is triggering the rule, we add the "trigger" prefix.

Both basic text and advanced text

parsing modes

work for this expression.

Enable the rule by clicking on the Enable button  rule-status-off.png →  rule-status-on.png

📹 Screencast

This is how the configuration above should look on your screen

📤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.

JavaScript
{
    "name": "Keep priority of parents and sub-tasks in sync",
    "description": "",
    "creator": "admin",
    "status": false,
    "triggerData": "",
    "triggerType": "FIELD_CHANGED_EVENT",
    "configuration": {
        "refs": [
            "issue",
            "system",
            "trigger.issue",
            "trigger.parent"
        ],
        "fieldId": "00017",
        "option": "any",
        "triggerType": ""
    },
    "children": [
        {
            "sequence": 0,
            "type": "ISSUE_SELECTOR",
            "ruleEntityType": "SELECTOR",
            "configuration": {
                "refs": [
                    "issue",
                    "project",
                    "system",
                    "trigger",
                    "trigger.issue",
                    "trigger.parent"
                ],
                "option": "subtasks",
                "issueListExpressionParsingMode": "issues",
                "actingUser": "field_00020"
            },
            "children": [
                {
                    "sequence": 0,
                    "type": "UPDATE_FIELD",
                    "ruleEntityType": "ACTION",
                    "configuration": {
                        "refs": [
                            "issue",
                            "issues",
                            "project",
                            "selector.issue",
                            "selector.parent",
                            "system",
                            "trigger",
                            "trigger.issue",
                            "trigger.parent"
                        ],
                        "fieldId": "00017",
                        "mode": "parser",
                        "value": "%{trigger.issue.priority}",
                        "valueParsingMode": "textAdvanced",
                        "sendMail": "true",
                        "actingUser": "field_00020"
                    },
                    "children": null,
                    "hasChildren": false
                }
            ],
            "hasChildren": true
        }
    ],
    "hasChildren": true
}


📚 Related examples