On this page



Use case

Often creating repetitive issues is daily work, e.g. in a software development release process. It might be that for every new feature specific tasks have to be done in order to successfully release a new software version containing this feature, be it updating the product documentation, the marketplace presence or sending a newsletter to all customers.

To avoid creating these issues always manually, the following automation rule can easily manage this by creating the issues automatically.



When to use this automation rule and when to use a workflow post function?

This use case is very useful, if repetitive issues have to be created in several projects that have different workflows. Configuring just one automation rule might then be the easier way to go.

But if this scenario is only necessary for one project and workflow, the Create issue post function would make more sense. In this case you might want to check out our corresponding post function use case.





Issue Created event


Add a Trigger → Issue Event Issue Created


 Boolean condition

Add the Boolean condition and enter the following Parser Expression*

%{trigger.issue.project.key} in ["key1", "key2", "key3"] and %{trigger.issue.issueType} = "New Feature"


Replace key1, key2 and key3 with your project keys.



 Create issue action





Issues to be created

Choose Multiple issues


Parser Expression

3

with parsing mode set to Date/Mathematical


Issue type

Choose Sub-task


Parent issue

Choose Trigger issue






Summary

Use the following Parser Expression:

getMatchingValue(^,[1,2,3],
["Documentation","Marketplace","Newsletter"])

with parsing mode set to Advanced text.


Description

Use the following Parser Expression:

getMatchingValue(^,[1,2,3],
["Issue for creating the documentation for the feature",
"Issue for updating the marketplace presence for the app",
"Issue for creating a newsletter for the feature"])

with parsing mode set to Advanced text.









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": "Add sub-tasks to issue on creation",
    "description": "",
    "creator": "admin",
    "status": false,
    "triggerData": "1",
    "triggerType": "ISSUE_EVENT",
    "configuration": {
        "refs": [
            "issue",
            "system",
            "trigger.issue",
            "trigger.parent"
        ],
        "triggerType": "1"
    },
    "children": [
        {
            "sequence": 0,
            "type": "CREATE_ISSUE",
            "ruleEntityType": "ACTION",
            "configuration": {
                "refs": [
                    "issue",
                    "project",
                    "system",
                    "trigger",
                    "trigger.issue",
                    "trigger.parent",
                    "remote.math"
                ],
                "issueSelectionParserValue": "3",
                "issueSelectionParserValueParsingMode": "math",
                "issuetype": "5",
                "parentSelection": "eventIssue",
                "parentIssueKeyParsingMode": "textBasic",
                "projectKeyParsingMode": "textBasic",
                "actingUser": "field_00020",
                "summary": "getMatchingValue(^,[1,2,3],\r\n[\"Documentation\",\"Marketplace\",\"Newsletter\"])",
                "summaryParsingMode": "textAdvanced",
                "description": "getMatchingValue(^,[1,2,3],\r\n[\"Issue for creating the documentation for the feature\",\r\n\"Issue for updating the marketplace presence for the app\",\r\n\"Issue for creating a newsletter for the feature\"])",
                "descriptionParsingMode": "textAdvanced",
                "inheritFieldsFrom": "none",
                "inheritFieldsIssueKeyParsingMode": "textBasic",
                "inheritIssueLinks": "none",
                "inheritIssueLinksIssueKeyParsingMode": "textBasic",
                "fields": [
                    {
                        "field": {
                            "label": "Assignee",
                            "value": "00003",
                            "meta": {
                                "isStringEphemeral": false,
                                "isCustomField": false,
                                "isIndexable": false,
                                "isCalculated": false,
                                "isMultiValued": false,
                                "type": "User",
                                "isNumericEphemeral": false,
                                "isSystemField": true,
                                "hasStandardConfig": true,
                                "isSubtaskOnlyField": false,
                                "isMultiWritable": false,
                                "isNumericField": false,
                                "isVirtualField": true,
                                "id": "3",
                                "key": "assignee",
                                "isClearable": true
                            }
                        },
                        "valueType": {
                            "label": "Value returned by parsed expression",
                            "value": "parser"
                        },
                        "value": {
                            "label": "% Creator (Trigger)",
                            "value": "%{trigger.issue.creator}"
                        },
                        "parsingMode": {
                            "label": "Advanced",
                            "value": "textAdvanced"
                        }
                    }
                ],
                "issueLinks": [],
                "issueSelection": "math",
                "inheritFields": []
            },
            "children": null,
            "hasChildren": false
        }
    ],
    "hasChildren": true
}




Related use cases




JWT feature

Automated actionCreate issue action
Label






Status
Tech review

Style guide