Scheduled project reindex

Use case

Often you do not only use Jira's basic set of features but extend your issues with custom fields like our calculated fields.

They work perfectly to aggregate data but once in a while you might want to do a reindex to get all up-to-date values from all issues.

In this use case we will use the scheduled trigger to do a reindex in a project once a week.


⚒️ Configuration

Scheduled 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 → Scheduled and choose who you want to execute this rule in Run as*

Schedule

Choose Days per Week

Interval

Choose once per week at 10:00am on Sunday

JQL Selector

Add Selector → JQL Selector

Use the following Expression:

Bash
project = KEY

KEY has to be a project key. In this case we are going to reindex all issues in that project.

But you can also adapt the configuration to your needs!

Reindex issue action

Next to the JQL Selector click on Add → Action → Reindex issue

No further configuration needed.

📤 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": "Reindex Project TIS",
    "description": "",
    "creator": "admin",
    "status": false,
    "triggerData": "",
    "triggerType": "SCHEDULED",
    "configuration": {
        "refs": [
            "issue",
            "system",
            "trigger.issue",
            "trigger.parent"
        ],
        "runAs": "admin",
        "scheduledTriggerCron.dailyWeeklyMonthly": "daysOfWeek",
        "scheduledTriggerCron.daysOfMonthOpt": "dayOfMonth",
        "scheduledTriggerCron.monthDay": "1",
        "scheduledTriggerCron.week": "1",
        "scheduledTriggerCron.day": "1",
        "scheduledTriggerCron.interval": "0",
        "scheduledTriggerCron.runOnceHours": "10",
        "scheduledTriggerCron.runOnceMins": "0",
        "scheduledTriggerCron.runOnceMeridian": "am",
        "scheduledTriggerCron.runFromHours": "1",
        "scheduledTriggerCron.runFromMeridian": "am",
        "scheduledTriggerCron.runToHours": "1",
        "scheduledTriggerCron.runToMeridian": "am",
        "scheduledTriggerCron.weekday": "1",
        "triggerType": ""
    },
    "children": [
        {
            "sequence": 0,
            "type": "JQL_SELECTOR",
            "ruleEntityType": "SELECTOR",
            "configuration": {
                "refs": [
                    "system"
                ],
                "jql": "project = TIS",
                "jqlParsingMode": "jql",
                "actingUser": "field_00020"
            },
            "children": [
                {
                    "sequence": 0,
                    "type": "REINDEX",
                    "ruleEntityType": "ACTION",
                    "configuration": {
                        "refs": [
                            "issue",
                            "issues",
                            "selector.issue",
                            "selector.parent",
                            "system"
                        ]
                    },
                    "children": null,
                    "hasChildren": false
                }
            ],
            "hasChildren": true
        }
    ],
    "hasChildren": true
}



📚 Related use cases