On this page

Use case

From time to time employees leave a company. What happens to the respective Jira account? Deactivating could be an option but for data security reasons users might have to be deleted.

To avoid issues when deleting the user from the internal directory, the following rule can come in handy. It replaces all affected assignees and reporters. Otherwise user cannot be deleted! Plus: Issue related users will be informed by a comment!


 Manual trigger

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 → Manual

No further configuration needed. The rule will only be executed if a user hits the Execute button .

We want to update both the assignee and the reporter but the issues might not be identical. This is why we have to set up two selectors and dedicated action.

Update the reporter

JQL Selector

Add Selector → JQL Selector

JQL Query

Use the following Expression:

reporter = john.doe

Replace "john.doe" with the user name of the user that should be deleted.

Update field action

Next to the JQL Selector click on Add → Action → Update field

Field

Choose Reporter

Update to

Choose Selected value

Value

Select the new reporter that should be set.

Add comment action

Underneath the Update field Action click on Add → Action → Add comment

Comment text

For liability reasons the reporter has been automatically changed.
Update the assignee

JQL Selector

Underneath the first JQL Selector click on Add → Selector → JQL Selector

JQL Query

Use the following Expression:

assignee = john.doe

Replace "john.doe" with the user name of the user that should be deleted.

 Assign issue action

Next to the second JQL Selector click on Add → Action → Assign issue

Assignee

Choose one of the given options that fit most for you.

 Add comment action

Underneath the Assign issue action click on Add → Action → Add comment

Comment text

For liability reasons the assignee has been automatically changed.

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.

{
    "name": "Update assignee and reporter to facilitate user deletion",
    "description": "",
    "creator": "admin",
    "status": false,
    "triggerData": "",
    "triggerType": "MANUAL",
    "configuration": {
        "refs": [
            "issue",
            "system",
            "trigger.issue",
            "trigger.parent"
        ],
        "actingUser": "field_00020",
        "triggerType": ""
    },
    "children": [
        {
            "sequence": 0,
            "type": "JQL_SELECTOR",
            "ruleEntityType": "SELECTOR",
            "configuration": {
                "refs": [
                    "system"
                ],
                "jql": "reporter = %{system.currentUser}",
                "jqlParsingMode": "jql",
                "actingUser": "fixed_user",
                "fixedActingUser": "cowens"
            },
            "children": [
                {
                    "sequence": 0,
                    "type": "ADD_COMMENT",
                    "ruleEntityType": "ACTION",
                    "configuration": {
                        "refs": [
                            "issue",
                            "issues",
                            "selector.issue",
                            "selector.parent",
                            "system"
                        ],
                        "comment": "For liability reasons the reporter has been automatically changed.",
                        "commentParsingMode": "textBasic",
                        "actingUser": "field_00020",
                        "commentVisibility": "everybody",
                        "sendMail": "true"
                    },
                    "children": null,
                    "hasChildren": false
                }
            ],
            "hasChildren": true
        },
        {
            "sequence": 1,
            "type": "JQL_SELECTOR",
            "ruleEntityType": "SELECTOR",
            "configuration": {
                "refs": [
                    "system"
                ],
                "jql": "assignee = eparis",
                "jqlParsingMode": "jql",
                "actingUser": "field_00020"
            },
            "children": [
                {
                    "sequence": 0,
                    "type": "ADD_COMMENT",
                    "ruleEntityType": "ACTION",
                    "configuration": {
                        "refs": [
                            "issue",
                            "issues",
                            "selector.issue",
                            "selector.parent",
                            "system"
                        ],
                        "comment": "For liability reasons the assignee has been automatically changed.",
                        "commentParsingMode": "textBasic",
                        "actingUser": "field_00020",
                        "commentVisibility": "everybody",
                        "sendMail": "true"
                    },
                    "children": null,
                    "hasChildren": false
                },
                {
                    "sequence": 1,
                    "type": "ASSIGN_ISSUE",
                    "ruleEntityType": "ACTION",
                    "configuration": {
                        "refs": [
                            "issue",
                            "issues",
                            "selector.issue",
                            "selector.parent",
                            "system"
                        ],
                        "assignMode": "user",
                        "user": "eparis",
                        "mode": "projectRoleRandom",
                        "sendMail": "true",
                        "actingUser": "field_00020"
                    },
                    "children": null,
                    "hasChildren": false
                }
            ],
            "hasChildren": true
        }
    ],
    "hasChildren": true
}



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