My organization is having an issue with Jira Cloud automations tied specifically to checklists. Here is the background on the use case:
We have a Software Project where each issue ticket of type "Feature" will be created with a checklist template pre-loaded onto it. This checklist has about 20 different boxes, and each box refers to a different work task that we might want to execute for the Feature ticket (think tasks like "Gap Analysis", "User Flow Diagram", "UX Wireframes", etc.). When the ticket owner clicks a checkbox, we want a sub-task to automatically be created on the Feature ticket that corresponds to the checkbox selected. We only want a single sub-task to exist for any given task type (i.e., we do not want it to be possible to create 2 or more "Gap Analysis" sub-tasks via the checklist automation -- this is the main issue we are experiencing).
The automation is defined as follows (using the sub-task "Gap Analysis" as an example):
- When: Value changes for `Checklist Text` // Whenever a box is checked, the text will update
- If: all match
- Checklist Text contains [x] Gap Analysis // The "Gap Analysis" checkbox is checked
- No Sub-tasks match Summary ~ "Gap Analysis" // There are currently no "Gap Analysis" Sub-tasks
- Then: create 1 sub-task with Summary = "Gap Analysis" // Create the "Gap Analysis Sub-task
Now when a user performs the checklist workflow slowly, this works as expected. But if a user rapidly clicks a checkbox on and off multiple times in quick succession, the automation will create a bunch of duplicate Sub-tasks for "Gap Analysis"! This pretty obviously seems like a race condition for the asynchronous calls fired off via the automation. I tried to add a new Re-fetch issue data component right at the top of the rule execution to make successive executions re-pull the issue data before executing, but this did not work. It seems that the core issue is the delay between the automation executing and the Sub-task actually being created on the Feature ticket. Looking around old forum posts and Atlassian's internal public Jira, it does not seem like there is a way to insert artificial delay into an automation's execution (which would probably solve this issue).
This seems busted on Atlassian's end. What are we supposed to do here? Or is this simply impossible given the current state of Jira Cloud?