IssueOps
IssueOps transforms GitHub issues into automation triggers that analyze, categorize, and respond to issues automatically. Use it for auto-triage, smart routing, initial responses, and quality checks. GitHub Agentic Workflows makes this natural through issue triggers and safe-outputs that handle automated responses securely without write permissions for the main AI job.
When issues are created, workflows activate automatically. The AI analyzes content and provides intelligent responses through automated comments.
---on: issues: types: [opened]permissions: contents: read actions: readsafe-outputs: add-comment: max: 2---
# Issue Triage Assistant
Analyze new issue content and provide helpful guidance. Examine the title and description for bug reports needing information, feature requests to categorize, questions to answer, or potential duplicates. Respond with a comment guiding next steps or providing immediate assistance.This creates an intelligent triage system that responds to new issues with contextual guidance.
Safe Output Architecture
Section titled “Safe Output Architecture”IssueOps workflows use the add-comment safe output to ensure secure comment creation with minimal permissions. The main job runs with contents: read while comment creation happens in a separate job with issues: write permissions, automatically sanitizing AI content and preventing spam:
safe-outputs: add-comment: max: 3 # Optional: allow multiple comments (default: 1) target: "triggering" # Default: comment on the triggering issue/PRAccessing Issue Context
Section titled “Accessing Issue Context”Access sanitized issue content through needs.activation.outputs.text, which combines title and description while removing security risks (@mentions, URIs, injections):
Analyze this issue: "${{ needs.activation.outputs.text }}"Common IssueOps Patterns
Section titled “Common IssueOps Patterns”Automated Bug Report Triage
Section titled “Automated Bug Report Triage”---on: issues: types: [opened]permissions: contents: read actions: readsafe-outputs: add-labels: allowed: [bug, needs-info, enhancement, question, documentation] # Restrict to specific labels max: 2 # Maximum 2 labels per issue---
# Bug Report Triage
Analyze new issues and add appropriate labels: "bug" (with repro steps), "needs-info" (missing details), "enhancement" (features), "question" or "documentation" (help/docs). Maximum 2 labels from the allowed list.Organizing Work with Sub-Issues
Section titled “Organizing Work with Sub-Issues”Break large work into agent-ready tasks using parent-child issue hierarchies. Create hierarchies with the parent field and temporary IDs, or link existing issues with link-sub-issue:
---on: command: name: plansafe-outputs: create-issue: title-prefix: "[task] " max: 6---
# Planning Assistant
Create a parent tracking issue, then sub-issues linked via parent field:
{"type": "create_issue", "temporary_id": "aw_abc123def456", "title": "Feature X", "body": "Tracking issue"}{"type": "create_issue", "parent": "aw_abc123def456", "title": "Task 1", "body": "First task"}Assign sub-issues to Copilot with assignees: copilot for parallel execution.