Hi everyone,
I'm building a Jira Cloud Automation rule to send daily reminder emails for issues that are missing due dates. The goal is to send just one email per assignee, listing all their missing-due-date tasks — instead of spamming them with multiple emails for each issue.
However, I’ve run into critical issues that are preventing this from working at all.
Specifically:
I can’t reliably isolate the correct displayName for each assignee within the loop.
I can’t generate a task list that includes only that assignee’s issues — the filtering fails or leaks issues from other users.
So far, none of the core logic is working correctly.
---
Rule Logic Overview:
1. Scheduled Trigger:
Runs every weekday at 8:30 AM.
2. Lookup Issues (JQL):
status in ("TO DO", "IN PROGRESS") AND dueDate is EMPTY
3. Advanced Branch:
Loops over:
{{lookupIssues.assignee.accountId.distinct}}
with "assigneeId" as the branch variable name.
4. Inside Each Branch Iteration:
I try to extract the display name for the current assigneeId
I try to filter and list only the issues belonging to that assigneeId
I send an email using those values
---
The Problems:
1. Getting the display name doesn't work.
Using:
{{#lookupIssues}}{{#if(equals(assignee.accountId, assigneeId))}}{{assignee.displayName}}{{/if}}{{/lookupIssues}}
Fails when used in Create variable — nothing returns or it throws a parsing error.
Also tried:
{{lookupIssues.match("assignee.accountId", assigneeId).first.assignee.displayName}}
But this always returns blank when assigned to a variable, even though assigneeId is valid in logs.
---
2. Filtering the task list by assignee also fails.
The goal is to produce a list like:
- KEY-123: Summary
- KEY-456: Summary
But looping through lookupIssues and trying to match assignee.accountId == assigneeId in an inline expression or template block either:
- Returns no issues
Or
- Incorrectly shows tasks from multiple users
---
Confirmed Constraints:
Create variable only supports inline or single {{#}}...{{/}} blocks
Nested blocks like {{#}}{{#}}...{{/}}{{/}} throw template parse errors
match() and first() don’t reliably work when accessing nested fields in variables
---
What I Need to Do:
Each assignee should receive only one email, with:
Hello [displayName],
Here are your issues missing due dates:
- KEY-123: Summary
- KEY-456: Summary
[No cross-user data leakage, no repetition, no noise.]
---
Looking For:
A reliable way to extract a single displayName inside the assigneeId loop
A smart-value pattern that filters issues cleanly per assignee
Any proven workaround that avoids using nested smart value blocks
A way to get this working without using external scripts or multiple automation rules
Thanks for reading — and I’d really appreciate any working examples or creative strategies others have used to solve this.