Home
cd ../playbooks
Project ManagementAdvanced

Jira Automation Workflows

Automate Jira project management workflows, sprint planning, issue tracking, and reporting

10 minutes
By communitySource
#jira#agile#sprint#project-management#automation
CLAUDE.md Template

Download this file and place it in your project folder to get started.

# Jira Automation

Comprehensive workflow for automating Jira project management and agile workflows.

## Core Workflows

### 1. Issue Management Pipeline

```
ISSUE LIFECYCLE:
┌─────────────────┐
│    Backlog      │
└────────┬────────┘
         ▼
┌─────────────────┐
│   To Do         │──────┐
└────────┬────────┘      │
         ▼               │
┌─────────────────┐      │ Blocked
│   In Progress   │◄─────┘
└────────┬────────┘
         ▼
┌─────────────────┐
│   In Review     │
└────────┬────────┘
         ▼
┌─────────────────┐
│     Done        │
└─────────────────┘
```

### 2. Automation Rules

```yaml
automation_rules:
  - name: auto_assign_on_transition
    trigger:
      type: issue_transitioned
      to_status: "In Progress"
    condition:
      assignee: unassigned
    action:
      assign_to: trigger_user

  - name: add_label_on_priority
    trigger:
      type: issue_created
      priority: highest
    action:
      - add_label: "urgent"
      - send_slack: "#dev-alerts"

  - name: auto_close_subtasks
    trigger:
      type: issue_transitioned
      to_status: "Done"
      issue_type: Story
    action:
      transition_subtasks: "Done"

  - name: sla_warning
    trigger:
      type: scheduled
      cron: "0 9 * * 1-5"
    condition:
      jql: "status = 'In Progress' AND updated < -3d"
    action:
      - add_comment: "@assignee Please update this issue"
      - send_notification: assignee
```

## Sprint Management

### Sprint Planning Template

```yaml
sprint_planning:
  name: "Sprint {{sprint_number}}"
  duration: 14  # days
  
  capacity_planning:
    team_size: 6
    hours_per_day: 6
    total_capacity: 504  # hours
    
  story_points:
    target: 42
    buffer: 10%  # for unplanned work
    
  ceremonies:
    - name: Sprint Planning
      day: 1
      duration: 2h
    - name: Daily Standup
      day: "daily"
      duration: 15m
    - name: Sprint Review
      day: 14
      duration: 1h
    - name: Retrospective
      day: 14
      duration: 1h
```

### Sprint Board Configuration

```yaml
board_config:
  type: scrum
  columns:
    - name: Backlog
      statuses: ["Backlog"]
    - name: To Do
      statuses: ["To Do", "Selected for Development"]
      wip_limit: null
    - name: In Progress
      statuses: ["In Progress"]
      wip_limit: 6
    - name: In Review
      statuses: ["Code Review", "QA"]
      wip_limit: 4
    - name: Done
      statuses: ["Done"]
      
  swimlanes:
    type: assignee
    show_epics: true
```

## Issue Templates

### Bug Report

```yaml
bug_template:
  project: DEV
  issue_type: Bug
  fields:
    summary: "[BUG] {{title}}"
    description: |
      ## Description
      {{description}}
      
      ## Steps to Reproduce
      1. {{step1}}
      2. {{step2}}
      3. {{step3}}
      
      ## Expected Behavior
      {{expected}}
      
      ## Actual Behavior
      {{actual}}
      
      ## Environment
      - Browser: {{browser}}
      - OS: {{os}}
      - Version: {{app_version}}
      
      ## Screenshots
      {{attachments}}
    
    priority: {{severity}}
    labels: ["bug", "needs-triage"]
    components: ["{{component}}"]
```

### Feature Request

```yaml
feature_template:
  project: DEV
  issue_type: Story
  fields:
    summary: "[FEATURE] {{title}}"
    description: |
      ## User Story
      As a {{user_type}}, I want to {{action}} so that {{benefit}}.
      
      ## Acceptance Criteria
      - [ ] {{criteria1}}
      - [ ] {{criteria2}}
      - [ ] {{criteria3}}
      
      ## Technical Notes
      {{tech_notes}}
      
      ## Design Mockups
      {{mockups}}
    
    labels: ["feature", "needs-refinement"]
    story_points: null  # To be estimated
```

### Epic Structure

```yaml
epic_template:
  project: DEV
  issue_type: Epic
  fields:
    summary: "{{epic_name}}"
    description: |
      ## Overview
      {{overview}}
      
      ## Goals
      - {{goal1}}
      - {{goal2}}
      
      ## Success Metrics
      | Metric | Current | Target |
      |--------|---------|--------|
      | {{metric1}} | {{current1}} | {{target1}} |
      
      ## Timeline
      Start: {{start_date}}
      Target Completion: {{end_date}}
      
      ## Dependencies
      {{dependencies}}
      
    child_issues:
      - type: Story
        count: "auto"
```

## JQL Queries Library

### Common Queries

```jql
# My open issues
assignee = currentUser() AND resolution = Unresolved ORDER BY priority DESC

# Sprint progress
project = DEV AND Sprint = "Sprint 15" ORDER BY status

# Bugs by severity
project = DEV AND type = Bug AND resolution = Unresolved 
ORDER BY priority DESC, created ASC

# Stale issues
project = DEV AND status = "In Progress" AND updated < -7d

# Ready for review
project = DEV AND status = "Code Review" AND "Code Reviewer" is EMPTY

# Release scope
fixVersion = "v2.5.0" AND resolution = Unresolved

# Team velocity
project = DEV AND type = Story AND Sprint in closedSprints() 
AND resolved >= -90d

# Blockers
project = DEV AND (priority = Blocker OR labels = blocked)
AND resolution = Unresolved
```

## Reporting & Dashboards

### Sprint Dashboard

```
SPRINT 15 DASHBOARD
═══════════════════════════════════════

Progress:
Day 8 of 14 │ ████████░░░░░░ 57%

Story Points:
Committed: 42
Completed: 24  │ ████████████░░░░░░░░ 57%
Remaining: 18

Burndown:
│ 42 ┤ ▪
│    │  ▪▪
│    │    ▪▪
│    │      ▪▪▪
│ 21 ┤         ▪ ← Ideal
│    │          ▪▪
│    │            ▪▪
│    │              ▪▪
│  0 ┤                ▪
└────┴────────────────────
     Day 1           Day 14

Issue Status:
To Do        ███░░░░░░░ 6
In Progress  █████░░░░░ 8
In Review    ████░░░░░░ 5
Done         █████████░ 12
```

### Velocity Chart

```
TEAM VELOCITY (Last 6 Sprints)
═══════════════════════════════════════

│  50 ┤
│     │           ▓▓
│  40 ┤    ▓▓     ▓▓     ▓▓     ▓▓
│     │    ▓▓ ▓▓  ▓▓     ▓▓ ▓▓  ▓▓
│  30 ┤ ▓▓ ▓▓ ▓▓  ▓▓ ▓▓  ▓▓ ▓▓  ▓▓
│     │ ▓▓ ▓▓ ▓▓  ▓▓ ▓▓  ▓▓ ▓▓  ▓▓
│  20 ┤ ▓▓ ▓▓ ▓▓  ▓▓ ▓▓  ▓▓ ▓▓  ▓▓
│     │ ▓▓ ▓▓ ▓▓  ▓▓ ▓▓  ▓▓ ▓▓  ▓▓
│  10 ┤ ▓▓ ▓▓ ▓▓  ▓▓ ▓▓  ▓▓ ▓▓  ▓▓
│     │ ▓▓ ▓▓ ▓▓  ▓▓ ▓▓  ▓▓ ▓▓  ▓▓
│   0 ┴─────────────────────────────
       S10 S11 S12 S13 S14 S15

Average: 38 points | Trend: +5%
```

## Integration Workflows

### GitHub Integration

```yaml
github_integration:
  branch_creation:
    trigger: issue_transitioned_to_in_progress
    pattern: "{{issue_type}}/{{issue_key}}-{{summary_slug}}"
    
  commit_linking:
    patterns:
      - "{{issue_key}}"
      - "#{{issue_key}}"
    action: add_comment_with_link
    
  pr_automation:
    on_pr_open:
      - transition_issue: "Code Review"
      - add_pr_link_to_issue
    on_pr_merge:
      - transition_issue: "Done"
      - add_comment: "Merged in {{pr_url}}"
```

### Slack Integration

```yaml
slack_integration:
  channels:
    dev_updates: "#dev-updates"
    alerts: "#dev-alerts"
    
  notifications:
    - event: blocker_created
      channel: alerts
      message: "🚨 Blocker: {{issue.key}} - {{issue.summary}}"
      
    - event: sprint_started
      channel: dev_updates
      message: "🏃 Sprint {{sprint.name}} has started! Goal: {{sprint.goal}}"
      
    - event: release_completed
      channel: dev_updates
      message: "🚀 Release {{version}} is live!"
```

## Workflow Customization

### Custom Workflow

```yaml
workflow:
  name: Development Workflow
  statuses:
    - Backlog
    - Ready for Dev
    - In Progress
    - Code Review
    - QA
    - Ready for Release
    - Done
    
  transitions:
    - from: Backlog
      to: Ready for Dev
      name: "Refine"
      conditions:
        - story_points_set
        
    - from: Ready for Dev
      to: In Progress
      name: "Start Work"
      post_functions:
        - assign_to_current_user
        
    - from: In Progress
      to: Code Review
      name: "Submit for Review"
      validators:
        - has_linked_pr
        
    - from: Code Review
      to: QA
      name: "Pass Review"
      conditions:
        - all_reviewers_approved
        
    - from: QA
      to: Done
      name: "Pass QA"
      post_functions:
        - resolve_issue
```

## Best Practices

1. **Keep Issues Small**: Break down to complete in 1-2 days
2. **Write Clear Descriptions**: Include all context needed
3. **Link Related Issues**: Use proper issue linking
4. **Update Status Regularly**: Move cards as work progresses
5. **Use Labels Consistently**: Establish team conventions
6. **Estimate in Points**: Use relative sizing
7. **Review Backlog Weekly**: Keep backlog groomed
README.md

What This Does

Comprehensive workflow for automating Jira project management and agile workflows.


Quick Start

Step 1: Create a Project Folder

mkdir -p ~/Documents/JiraAutomation

Step 2: Download the Template

Click Download above, then:

mv ~/Downloads/CLAUDE.md ~/Documents/JiraAutomation/

Step 3: Start Working

cd ~/Documents/JiraAutomation
claude

Best Practices

  1. Keep Issues Small: Break down to complete in 1-2 days
  2. Write Clear Descriptions: Include all context needed
  3. Link Related Issues: Use proper issue linking
  4. Update Status Regularly: Move cards as work progresses
  5. Use Labels Consistently: Establish team conventions
  6. Estimate in Points: Use relative sizing
  7. Review Backlog Weekly: Keep backlog groomed

$Related Playbooks