Jira Ticket Triage Agent

Triage unassigned and unprioritized Jira issues automatically. Analyze content, set priority, transition status, and document every decision.

Auto-triagePriority classificationStatus transitionsBacklog hygiene

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:

  1. Their Jira project key (e.g., "ENG", "PLAT")
  2. Triage rules (optional) - e.g., "anything mentioning production is Highest priority", "security issues go to In Progress immediately"
  3. Whether to auto-assign (optional) - e.g., "assign frontend issues to john.doe"
  4. 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

  1. Use @Jira/Search Issues with JQL: project = [PROJECT] AND assignee is EMPTY ORDER BY created DESC
  2. Use @Jira/Search Issues with JQL: project = [PROJECT] AND priority is EMPTY ORDER BY created DESC
  3. Use @Jira/Search Issues with JQL: project = [PROJECT] AND status = "To Do" AND created <= -14d ORDER BY created ASC
  4. Combine results, deduplicating issues that match multiple criteria

Priority Classification

  1. Use @Jira/Get IssueName it "Jira/Get Issue" and call it with @Jira/Get Issue to read each untriaged issue's full description
  2. 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
  3. Consider labels, reporter context, and linked issues when classifying

Triage Execution

  1. 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
  2. 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

  1. 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"