The Jira Automation Playbook.
Jira should work for your team, not the other way around. Automation for Jira (A4J) is the most powerful tool a Program Manager has to eliminate administrative friction and enforce process hygiene silently. Here are the exact rule configurations to build a self-driving PMO.
1. The Fundamentals (Quick Wins)
These are low-complexity rules designed to make your engineers' lives easier by eliminating manual board updates.
Code-Driven Transitions
Engineers hate dragging tickets. Integrate Jira with GitHub/GitLab and let the code do the talking.
- TRIGGER Pull Request Created
- CONDITION Issue Status = "In Progress"
- ACTION Transition Issue to "In Review"
Smart Triage Assignment
Automatically route incoming service desk tickets or bugs to the right tech lead based on the Component.
- TRIGGER Issue Created
- IF / ELSE Advanced Branching based on Component
- CONDITION Component = "Database"
- ACTION Assign to: Sarah Jenkins
- CONDITION Component = "Frontend UI"
- ACTION Assign to: David Chen
2. Advanced Orchestration
These rules require cross-project permissions and advanced JQL. They are designed to automate PMO governance and dependency tracking.
The Dependency Ping
When a blocking issue is finally resolved, immediately notify the team that was waiting on it so they can resume work.
- TRIGGER Issue Transitioned to "Done"
- BRANCH For Linked Issues: Link Type = "Blocks"
- CONDITION Status != "Done"
- ACTION Add Comment: "Hi [~assignee], your blocker {{triggerIssue.key}} is complete. You can begin work."
- ACTION Transition Issue to "To Do" (Removes from Blocked status)
Epic Auto-Rollup (Bottom-Up)
Ensure your executive roadmaps are accurate. When the last underlying story is closed, automatically close the parent Epic.
- TRIGGER Issue Transitioned to "Done"
- BRANCH For Parent Epic
-
CONDITION
Related Issues (Children): All match JQL
statusCategory = Done - ACTION Transition Parent Epic to "Done"
- ACTION Add Comment: "All child stories completed. Epic automatically closed."
The Stale Issue Sweep (Slack Escalation)
Stop manually chasing people for updates. Let Jira ping Slack automatically when a ticket rots in "In Progress" for too long.
- SCHEDULED Every Monday, Wednesday, Friday at 9:00 AM
-
JQL QUERY
status = "In Progress" AND updated <= -5d -
ACTION
Send Slack Message to
#eng-delivery-alerts - Payload: "🚨 {{issue.key}} has been In Progress for over 5 days with no updates. Owner: {{issue.assignee.displayName}} - Please review or update."
Deep Dive: Configuring the Slack Integration
This is the exact technical configuration needed to wire up the "Stale Issue Sweep" to your Slack workspace. Let the bot play the bad cop.
Phase 1: Set Up the Trigger and JQL
- Navigate to Project Settings > Automation (or Global Automation if standardizing across multiple projects).
- Click Create Rule.
- Trigger: Select Scheduled. Set it to run with a Cron expression or use the basic UI: Run every 1 week on Mon, Wed, Fri at 9:00 AM.
- Check the box for Run a JQL search and execute actions for each issue in the result.
-
Paste your JQL:
status = "In Progress" AND updated <= -5d - Click Save.
Phase 2: Configure the Slack Output
Jira has a native, deeply integrated Slack action, making this incredibly straightforward.
- Click New Action.
- Search for and select Send Slack message.
- Webhook URL / Workspace: If your Jira admin has already connected your Slack workspace, simply select it from the dropdown. If not, generate an Incoming Webhook URL from your Slack app directory and paste it here.
-
Channel: Type in your exact channel name, e.g.,
#eng-delivery-alerts. -
Message: Paste the exact smart value payload below.
Note: Wrapping the issue key in < > with a pipe | makes it a clickable hyperlink directly to the ticket in Slack!🚨 <{{issue.url}}|{{issue.key}}> has been In Progress for over 5 days with no updates. Owner: {{issue.assignee.displayName}} - Please review or update. - Click Save, name your rule, and turn it on.
Before turning this on globally, run it manually first or filter your JQL to a specific test project. If you have a massive backlog with hundreds of neglected tickets, turning this on without warning will flood the Slack channel and annoy the engineering team.
The Automation Execution Limit
If you are on Jira Standard, you have a hard limit of 1,700 automation executions per month. If you write inefficient rules (e.g., triggering on every issue update rather than specific transitions), you will burn through your quota in days. Always constrain your triggers and use precise JQL conditions to prevent runaway loops.
Found this useful?
Share this framework with your network or engineering team.