On this page



Use case

A handy option in Jira is to use issue keys in comments to reference them whenever needed. But as the amount of comments grow, it can get hard to keep track of all mentioned issues in the comments. Therefor, the following rule checks for issue keys being added to comments and automatically links them to the current issue.





Issue Commented event



Add a trigger → Issue event → Issue Commented

No further configuration needed. The automation rule is triggered every time an issue is being transitioned.



Boolean condition

Add a ConditionBoolean Condition 


Expression

Use the following Parser Expression:

findPattern(%{trigger.issue.lastComment},"([A-Z][A-Z0-9]+)-\\d+") !~ null



Boolean expressions are logical constructions that return true or false.

The findPattern() expression parser function extracts the issue key from the last comment.



Create issue link action

Next to the Boolean Condition click on Add → Action → Create issue link


Issue link type

Choose relates to (Relates)


Issue selection

Choose Issue List Expression


Use the following Parser Expression:

issueKeysToIssueList(toString(findPattern(%{trigger.issue.lastComment},"([A-Z][A-Z0-9]+)-\\d+")))



The findPattern() expression parser function extracts the issue key from the last comment.










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



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": "Track issues mentioned in comments",
    "description": "",
    "creator": "admin",
    "status": false,
    "triggerData": "6",
    "triggerType": "ISSUE_EVENT",
    "configuration": {
        "refs": [
            "issue",
            "system",
            "trigger.issue",
            "trigger.parent"
        ],
        "triggerType": "6"
    },
    "children": [
        {
            "sequence": 0,
            "type": "BOOLEAN_CONDITION",
            "ruleEntityType": "CONDITION",
            "configuration": {
                "refs": [
                    "issue",
                    "project",
                    "system",
                    "trigger",
                    "trigger.issue",
                    "trigger.parent"
                ],
                "expression": "findPattern(%{trigger.issue.lastComment}, \"([A-Z][A-Z0-9]+)-\\\\d+\") !~ null",
                "expressionParsingMode": "logical",
                "actingUser": "field_00020"
            },
            "children": [
                {
                    "sequence": 0,
                    "type": "LINK_ISSUE",
                    "ruleEntityType": "ACTION",
                    "configuration": {
                        "refs": [
                            "issue",
                            "project",
                            "system",
                            "trigger",
                            "trigger.issue",
                            "trigger.parent"
                        ],
                        "issueLinkType": "inwards_10003",
                        "destinationIssueSelection": "issues",
                        "destinationIssueSelectionIssues": "issueKeysToIssueList(toString(findPattern(%{trigger.issue.lastComment}, \"([A-Z][A-Z0-9]+)-\\\\d+\")))",
                        "destinationIssueSelectionIssueKeyParsingMode": "textBasic",
                        "actingUser": "field_00020"
                    },
                    "children": null,
                    "hasChildren": false
                }
            ],
            "hasChildren": true
        }
    ],
    "hasChildren": true
}




Related use cases




JWT feature

Automated actionCreate issue link action
Parser functions

findPattern()

issueKeysToIssueList()

toString()

Label






Status
Tech review

Style guide