mcpField
J
Jira Automation

Jira Automation

github.com/claude-office-skills生産性5454.7k 回インストール39 週間前に更新
リポジトリ

Jira Automation について

Jira Automationは、Jiraの課題管理とアジャイルワークフローを計画するスキルです。自動化ルール、スプリント、クエリ、レポート、連携の例を提供します。

主な機能

  1. 01課題ライフサイクルと自動化ルール
  2. 02スプリント計画とボードのテンプレート
  3. 03バグ、機能、エピックのテンプレート
  4. 04JQLクエリの例
  5. 05スプリントダッシュボードとベロシティレポート
  6. 06GitHubとSlackのワークフロー例

活用シーン

  1. 01課題の遷移や割り当てルールの作成
  2. 02スプリント容量の計画とボード設定
  3. 03標準化された課題説明の作成
  4. 04課題の検索とスプリント進捗の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/claude-office-skills/skills --skill jira-automation

インストール後、Claude Code で/jira-automationを入力して読み込まれたか確認します。

詳細

Jira の自動化

Jira のプロジェクト管理とアジャイルワークフローを自動化するための包括的なスキルです。

主なワークフロー

1. 課題管理パイプライン
ISSUE LIFECYCLE:
┌─────────────────┐
│    Backlog      │
└────────┬────────┘
         ▼
┌─────────────────┐
│   To Do         │──────┐
└────────┬────────┘      │
         ▼               │
┌─────────────────┐      │ Blocked
│   In Progress   │◄─────┘
└────────┬────────┘
         ▼
┌─────────────────┐
│   In Review     │
└────────┬────────┘
         ▼
┌─────────────────┐
│     Done        │
└─────────────────┘
2. 自動化ルール
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_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
スプリントボードの設定
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

課題テンプレート

バグ報告
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_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_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 クエリライブラリ

よく使うクエリ
# 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

レポートとダッシュボード

スプリントダッシュボード
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
ベロシティチャート
TEAM VELOCITY (Last 6 Sprints)
═══════════════════════════════════════

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

Average: 38 points | Trend: +5%

インテグレーションワークフロー

GitHub インテグレーション
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 インテグレーション
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:
  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

ベストプラクティス

  1. 課題を小さく保つ:1~2日で完了できるように分割します
  2. 説明を明確にする:必要な背景情報をすべて含めます
  3. 関連する課題をリンクする:適切な課題リンクを使用します
  4. ステータスを定期的に更新する:作業の進行に合わせてカードを移動します
  5. ラベルを一貫して使用する:チームのルールを定めます
  6. ポイントで見積もる:相対的な規模を使用します
  7. バックログを毎週確認する:バックログを整理された状態に保ちます

コメント