Jira 프로젝트 관리 워크플로, 스프린트 계획, 이슈 추적, 리포팅을 자동화합니다. — Claude Skill
Claude Code용 Claude 스킬 · 제공: Claude Office Skills · 실행: /jira-automation (Claude 내)·업데이트: 2026년 6월 12일·vmain@9c4c7d5
Jira 이슈 생성, 스프린트 계획, 워크플로 전환, 리포팅, 번다운 차트, 속도 지표, 애자일 프로젝트 관리 증거를 자동화합니다.
- 구조화된 버그, 스토리, 기능 요청 템플릿에서 Jira 이슈를 생성하고 업데이트합니다.
- 스프린트 계획, 보드 설정, 용량 계획, 행사 일정을 자동화합니다.
- 담당자 지정, 우선순위 라벨, SLA 경고, 하위 작업 종료를 위한 Jira 자동화 규칙을 정의합니다.
- 스프린트 리포트, 번다운 차트, 속도 지표, 워크플로 분석을 생성합니다.
제품 담당자가 티켓을 수동으로 만들고, 스프린트 보드를 업데이트하고, 자동화 규칙을 작성하고, 나중에 스프린트 리포트를 만듭니다.
/jira-automation을 실행해 하나의 구조화된 브리프에서 Jira용 이슈 템플릿, 스프린트 설정, 자동화 규칙, 리포트를 생성합니다.
대상
기능
버그 리포트, 기능 요청, 스토리 세부 정보를 Jira에 바로 쓸 수 있는 이슈 템플릿으로 바꿉니다.
스프린트 용량, 스토리 포인트 목표, 행사, 보드 열, 진행 중 작업 제한을 구성합니다.
전환, 담당자, 라벨, 알림, 오래된 이슈 업데이트를 위한 자동화 규칙을 만듭니다.
작동 방식
프로젝트, 스프린트, 이슈, 워크플로 또는 리포팅 입력값을 수집합니다.
이슈 생성, 스프린트 계획, 자동화 규칙, 보드 설정, 리포트 중 Jira 워크플로를 선택합니다.
Jira에 바로 쓸 템플릿, JQL, 워크플로 규칙, 리포팅 출력을 생성합니다.
생성된 변경 사항을 Jira에 적용하기 전에 검토합니다.
입력 옵션
프로젝트 키, 이슈 유형, 상태, 보드 열, 전환 규칙을 제공합니다.
예시
팀: Support Engineering. 문제: Support에서 버그가 들어오지만 triage가 일관되지 않음. 현재 Jira 상태: Backlog, Selected, In Progress, Review, Done. 필요한 것: - 표준 버그 템플릿, - 우선순위 라벨, - 3영업일 후 오래된 이슈 알림, - 신규, 수정, 재오픈, 차단된 버그에 대한 주간 리포트. 관리자가 검토 후 적용할 예정입니다. 실시간 Jira는 자동으로 변경하지 마세요.
스킬은 이것을 일회성 티켓 수정이 아니라 workflow 설계로 봅니다. 팀이 반복해서 쓸 수 있는 Jira 규칙과 리포트 구조를 만듭니다.
필드: 고객 영향, 제품 영역, 재현 단계, 기대 결과, 실제 결과, 증거 링크, 심각도, 담당자, acceptance criteria.
Severity 1에는 urgent 라벨을 추가하고, In Progress가 3영업일 동안 오래되면 담당자에게 알리며, 상위 버그가 닫히면 하위 작업도 닫습니다.
신규 버그, 수정된 버그, 재오픈된 버그, 차단된 버그, Selected에서 Done까지 걸린 평균 시간을 추적합니다.
Jira 관리자는 workflow 이름, 알림 규칙, 권한, 자동화가 실시간 이슈를 예상 밖으로 변경할 가능성을 확인해야 합니다.
개선되는 지표
지원 도구
Jira 자동화을(를) 사용해 보시겠어요?
시작 방법을 선택하세요.
이 스킬을 컴퓨터에 로컬로 설치하고 실행합니다.
컴퓨터에서 터미널을 열고 이 명령을 붙여넣으세요:
이 명령은 스킬과 모든 파일을 컴퓨터에 다운로드합니다:
모든 프로젝트에서 사용하려면 끝에 -g를 추가하세요.
Claude Code를 시작한 다음 명령을 입력하세요:
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 이 이슈를 업데이트해 주세요"
- send_notification: assignee
스프린트 관리
스프린트 계획 템플릿
sprint_planning:
name: "Sprint {{sprint_number}}"
duration: 14 # 일
capacity_planning:
team_size: 6
hours_per_day: 6
total_capacity: 504 # 시간
story_points:
target: 42
buffer: 10% # 계획되지 않은 작업용
ceremonies:
- name: 스프린트 계획
day: 1
duration: 2h
- name: 데일리 스탠드업
day: "daily"
duration: 15m
- name: 스프린트 리뷰
day: 14
duration: 1h
- name: 회고
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}}
## 재현 단계
1. {{step1}}
2. {{step2}}
3. {{step3}}
## 기대 동작
{{expected}}
## 실제 동작
{{actual}}
## 환경
- Browser: {{browser}}
- OS: {{os}}
- Version: {{app_version}}
## 스크린샷
{{attachments}}
priority: {{severity}}
labels: ["bug", "needs-triage"]
components: ["{{component}}"]
기능 요청
feature_template:
project: DEV
issue_type: Story
fields:
summary: "[FEATURE] {{title}}"
description: |
## 사용자 스토리
{{user_type}}로서, {{benefit}}을 위해 {{action}}하고 싶습니다.
## 인수 기준
- [ ] {{criteria1}}
- [ ] {{criteria2}}
- [ ] {{criteria3}}
## 기술 메모
{{tech_notes}}
## 디자인 목업
{{mockups}}
labels: ["feature", "needs-refinement"]
story_points: null # 추정 필요
에픽 구조
epic_template:
project: DEV
issue_type: Epic
fields:
summary: "{{epic_name}}"
description: |
## 개요
{{overview}}
## 목표
- {{goal1}}
- {{goal2}}
## 성공 지표
| 지표 | 현재 | 목표 |
|--------|---------|--------|
| {{metric1}} | {{current1}} | {{target1}} |
## 일정
시작: {{start_date}}
목표 완료: {{end_date}}
## 의존성
{{dependencies}}
child_issues:
- type: Story
count: "auto"
JQL 쿼리 라이브러리
일반 쿼리
# 내 열린 이슈
assignee = currentUser() AND resolution = Unresolved ORDER BY priority DESC
# 스프린트 진행 상황
project = DEV AND Sprint = "Sprint 15" ORDER BY status
# 심각도별 버그
project = DEV AND type = Bug AND resolution = Unresolved
ORDER BY priority DESC, created ASC
# 오래된 이슈
project = DEV AND status = "In Progress" AND updated < -7d
# 리뷰 준비 완료
project = DEV AND status = "Code Review" AND "Code Reviewer" is EMPTY
# 릴리스 범위
fixVersion = "v2.5.0" AND resolution = Unresolved
# 팀 속도
project = DEV AND type = Story AND Sprint in closedSprints()
AND resolved >= -90d
# 차단 이슈
project = DEV AND (priority = Blocker OR labels = blocked)
AND resolution = Unresolved
리포팅 및 대시보드
스프린트 대시보드
SPRINT 15 DASHBOARD
═══════════════════════════════════════
진행:
14일 중 8일 │ ████████░░░░░░ 57%
스토리 포인트:
커밋: 42
완료: 24 │ ████████████░░░░░░░░ 57%
남음: 18
번다운:
│ 42 ┤ ▪
│ │ ▪▪
│ │ ▪▪
│ │ ▪▪▪
│ 21 ┤ ▪ ← 이상적
│ │ ▪▪
│ │ ▪▪
│ │ ▪▪
│ 0 ┤ ▪
└────┴────────────────────
1일차 14일차
이슈 상태:
To Do ███░░░░░░░ 6
In Progress █████░░░░░ 8
In Review ████░░░░░░ 5
Done █████████░ 12
속도 차트
팀 속도(최근 6개 스프린트)
═══════════════════════════════════════
│ 50 ┤
│ │ ▓▓
│ 40 ┤ ▓▓ ▓▓ ▓▓ ▓▓
│ │ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ 30 ┤ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ │ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ 20 ┤ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ │ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ 10 ┤ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ │ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ 0 ┴─────────────────────────────
S10 S11 S12 S13 S14 S15
평균: 38포인트 | 추세: +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: "{{pr_url}}에 병합되었습니다"
Slack 연동
slack_integration:
channels:
dev_updates: "#dev-updates"
alerts: "#dev-alerts"
notifications:
- event: blocker_created
channel: alerts
message: "🚨 차단 이슈: {{issue.key}} - {{issue.summary}}"
- event: sprint_started
channel: dev_updates
message: "🏃 Sprint {{sprint.name}}가 시작되었습니다! 목표: {{sprint.goal}}"
- event: release_completed
channel: dev_updates
message: "🚀 Release {{version}}가 라이브 상태입니다!"
워크플로 맞춤화
사용자 정의 워크플로
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-2일 안에 완료할 수 있도록 나눕니다.
- 명확한 설명 작성: 필요한 모든 맥락을 포함합니다.
- 관련 이슈 연결: 적절한 이슈 연결을 사용합니다.
- 상태를 정기적으로 업데이트: 작업이 진행되면 카드를 이동합니다.
- 라벨을 일관되게 사용: 팀 규칙을 세웁니다.
- 포인트로 추정: 상대적 크기 산정을 사용합니다.
- 백로그를 매주 리뷰: 백로그를 정돈된 상태로 유지합니다.
참조 문서
name: Jira 자동화 description: Jira 프로젝트 관리 워크플로, 스프린트 계획, 이슈 추적, 리포팅을 자동화합니다. version: 1.0.0 author: Claude Office Skills category: project-management tags:
- jira
- agile
- sprint
- project-management
- automation department: engineering models:
- claude-3-opus
- claude-3-sonnet
- gpt-4
mcp:
server: project-mcp
tools:
- jira_create_issue
- jira_update_issue
- jira_search
- jira_transition capabilities:
- 이슈 생성 및 관리
- 스프린트 계획 자동화
- 워크플로 자동화
- 리포팅 및 분석 input:
- 이슈 세부 정보
- 스프린트 구성
- 워크플로 규칙
- 리포트 매개변수 output:
- 생성/업데이트된 이슈
- 스프린트 리포트
- 번다운 차트
- 속도 지표 languages:
- en related_skills:
- asana-automation
- linear-automation
- github-integration
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 이 이슈를 업데이트해 주세요"
- send_notification: assignee
스프린트 관리
스프린트 계획 템플릿
sprint_planning:
name: "Sprint {{sprint_number}}"
duration: 14 # 일
capacity_planning:
team_size: 6
hours_per_day: 6
total_capacity: 504 # 시간
story_points:
target: 42
buffer: 10% # 계획되지 않은 작업용
ceremonies:
- name: 스프린트 계획
day: 1
duration: 2h
- name: 데일리 스탠드업
day: "daily"
duration: 15m
- name: 스프린트 리뷰
day: 14
duration: 1h
- name: 회고
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}}
## 재현 단계
1. {{step1}}
2. {{step2}}
3. {{step3}}
## 기대 동작
{{expected}}
## 실제 동작
{{actual}}
## 환경
- Browser: {{browser}}
- OS: {{os}}
- Version: {{app_version}}
## 스크린샷
{{attachments}}
priority: {{severity}}
labels: ["bug", "needs-triage"]
components: ["{{component}}"]
기능 요청
feature_template:
project: DEV
issue_type: Story
fields:
summary: "[FEATURE] {{title}}"
description: |
## 사용자 스토리
{{user_type}}로서, {{benefit}}을 위해 {{action}}하고 싶습니다.
## 인수 기준
- [ ] {{criteria1}}
- [ ] {{criteria2}}
- [ ] {{criteria3}}
## 기술 메모
{{tech_notes}}
## 디자인 목업
{{mockups}}
labels: ["feature", "needs-refinement"]
story_points: null # 추정 필요
에픽 구조
epic_template:
project: DEV
issue_type: Epic
fields:
summary: "{{epic_name}}"
description: |
## 개요
{{overview}}
## 목표
- {{goal1}}
- {{goal2}}
## 성공 지표
| 지표 | 현재 | 목표 |
|--------|---------|--------|
| {{metric1}} | {{current1}} | {{target1}} |
## 일정
시작: {{start_date}}
목표 완료: {{end_date}}
## 의존성
{{dependencies}}
child_issues:
- type: Story
count: "auto"
JQL 쿼리 라이브러리
일반 쿼리
# 내 열린 이슈
assignee = currentUser() AND resolution = Unresolved ORDER BY priority DESC
# 스프린트 진행 상황
project = DEV AND Sprint = "Sprint 15" ORDER BY status
# 심각도별 버그
project = DEV AND type = Bug AND resolution = Unresolved
ORDER BY priority DESC, created ASC
# 오래된 이슈
project = DEV AND status = "In Progress" AND updated < -7d
# 리뷰 준비 완료
project = DEV AND status = "Code Review" AND "Code Reviewer" is EMPTY
# 릴리스 범위
fixVersion = "v2.5.0" AND resolution = Unresolved
# 팀 속도
project = DEV AND type = Story AND Sprint in closedSprints()
AND resolved >= -90d
# 차단 이슈
project = DEV AND (priority = Blocker OR labels = blocked)
AND resolution = Unresolved
리포팅 및 대시보드
스프린트 대시보드
SPRINT 15 DASHBOARD
═══════════════════════════════════════
진행:
14일 중 8일 │ ████████░░░░░░ 57%
스토리 포인트:
커밋: 42
완료: 24 │ ████████████░░░░░░░░ 57%
남음: 18
번다운:
│ 42 ┤ ▪
│ │ ▪▪
│ │ ▪▪
│ │ ▪▪▪
│ 21 ┤ ▪ ← 이상적
│ │ ▪▪
│ │ ▪▪
│ │ ▪▪
│ 0 ┤ ▪
└────┴────────────────────
1일차 14일차
이슈 상태:
To Do ███░░░░░░░ 6
In Progress █████░░░░░ 8
In Review ████░░░░░░ 5
Done █████████░ 12
속도 차트
팀 속도(최근 6개 스프린트)
═══════════════════════════════════════
│ 50 ┤
│ │ ▓▓
│ 40 ┤ ▓▓ ▓▓ ▓▓ ▓▓
│ │ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ 30 ┤ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ │ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ 20 ┤ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ │ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ 10 ┤ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ │ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
│ 0 ┴─────────────────────────────
S10 S11 S12 S13 S14 S15
평균: 38포인트 | 추세: +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: "{{pr_url}}에 병합되었습니다"
Slack 연동
slack_integration:
channels:
dev_updates: "#dev-updates"
alerts: "#dev-alerts"
notifications:
- event: blocker_created
channel: alerts
message: "🚨 차단 이슈: {{issue.key}} - {{issue.summary}}"
- event: sprint_started
channel: dev_updates
message: "🏃 Sprint {{sprint.name}}가 시작되었습니다! 목표: {{sprint.goal}}"
- event: release_completed
channel: dev_updates
message: "🚀 Release {{version}}가 라이브 상태입니다!"
워크플로 맞춤화
사용자 정의 워크플로
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-2일 안에 완료할 수 있도록 나눕니다.
- 명확한 설명 작성: 필요한 모든 맥락을 포함합니다.
- 관련 이슈 연결: 적절한 이슈 연결을 사용합니다.
- 상태를 정기적으로 업데이트: 작업이 진행되면 카드를 이동합니다.
- 라벨을 일관되게 사용: 팀 규칙을 세웁니다.
- 포인트로 추정: 상대적 크기 산정을 사용합니다.
- 백로그를 매주 리뷰: 백로그를 정돈된 상태로 유지합니다.