Jira Ticket Triage Agent
Triage unassigned and unprioritized Jira issues automatically. Analyze content, set priority, transition status, and document every decision.
The Challenge
Jira tickets pile up without priorities, assignees, or proper categorization. Someone files a ticket in a hurry, skips the priority field, and it sits in the backlog invisible to everyone who filters by priority. Multiply that by twenty tickets a week and suddenly your backlog is full of untriaged work that nobody wants to spend two hours reading through to classify. Critical bugs hide behind vague titles while nice-to-have requests sit marked as Highest priority.
What This Prompt Does
Find Untriaged Issues
Searches for issues missing priority, assignee, or stuck in stale statuses using JQL queries
Classify Priority
Reads full issue descriptions and analyzes content for urgency signals like production impact or security risk
Transition Status
Moves issues to the appropriate workflow status based on their priority and type classification
Document Decisions
Adds an ADF-formatted comment to each issue explaining why the priority and status were chosen
The Prompt
The Prompt
Task
Use @Jira/Search IssuesName it "Jira/Search Issues" and call it with @Jira/Search Issues to find issues with no priority, no assignee, or stale status. Use @Jira/Get IssueName it "Jira/Get Issue" and call it with @Jira/Get Issue to read full descriptions and context. Classify priority based on content, use @Jira/Transition IssueName it "Jira/Transition Issue" and call it with @Jira/Transition Issue to move issues to the correct status, and use @Jira/Add CommentName it "Jira/Add Comment" and call it with @Jira/Add Comment to document each triage decision.
Input
The user provides:
- Their Jira project key (e.g., "ENG", "PLAT")
- Triage rules (optional) - e.g., "anything mentioning production is Highest priority", "security issues go to In Progress immediately"
- Whether to auto-assign (optional) - e.g., "assign frontend issues to john.doe"
- Time window (optional) - e.g., "only issues created in the last 7 days"
Example: "Triage all unassigned issues in the ENG project backlog"
Context
Issue Discovery
- Use @Jira/Search Issues with JQL:
project = [PROJECT] AND assignee is EMPTY ORDER BY created DESC - Use @Jira/Search Issues with JQL:
project = [PROJECT] AND priority is EMPTY ORDER BY created DESC - Use @Jira/Search Issues with JQL:
project = [PROJECT] AND status = "To Do" AND created <= -14d ORDER BY created ASC - Combine results, deduplicating issues that match multiple criteria
Priority Classification
- Use @Jira/Get IssueName it "Jira/Get Issue" and call it with @Jira/Get Issue to read each untriaged issue's full description
- Analyze title and description for priority signals:
- Highest: production down, data loss, security vulnerability, customer-facing outage
- High: bug affecting multiple users, regression, broken integration, SLA risk
- Medium: feature request with business justification, performance degradation, UX issues
- Low: nice-to-have improvements, cosmetic issues, internal tooling requests
- Consider labels, reporter context, and linked issues when classifying
Triage Execution
- Use @Jira/Transition IssueName it "Jira/Transition Issue" and call it with @Jira/Transition Issue to move issues to the appropriate status:
- Highest/High priority bugs: transition to "In Progress" or "Ready for Dev"
- Medium priority: transition to "To Do" or "Ready for Refinement"
- Low priority: keep in backlog or transition to "Won't Fix" if clearly outdated
- Use @Jira/Add CommentName it "Jira/Add Comment" and call it with @Jira/Add Comment to document the triage decision on each issue:
- Why this priority was chosen
- What status transition was applied
- Any recommendations for assignment or next steps
Issue Type Detection
- Classify issues by type based on content:
- Bug: error reports, unexpected behavior, regression mentions
- Task: implementation work, configuration changes
- Story: user-facing feature requests
- Improvement: enhancement to existing functionality
Output
Triage Report:
Project: [Project Key] Issues Triaged: [count]
Priority Breakdown:
- Highest: [count] issues
- High: [count] issues
- Medium: [count] issues
- Low: [count] issues
Actions Taken: | Issue | Title | Priority Set | Status Changed To | Reasoning | |-------|-------|-------------|-------------------|-----------| | [PROJ-123] | [title] | [priority] | [new status] | [brief reasoning] |
Issues Needing Human Review:
- [PROJ-456] [Title] - [reason it needs manual review]
Summary: [1-2 sentence overview of triage results]
Example Usage
Try asking:
- →"Triage all unassigned issues in the ENG project backlog"
- →"Find issues with no priority in PLAT and classify them by severity"
- →"Review and prioritize all untriaged tickets created this week in the MOBILE project"