# Jira 빠른 참조

*이슈, JQL, 워크플로우, 보드, 스프린트, 필터*

> Source: Jira Documentation (support.atlassian.com) · MIT

## 이슈

### 이슈 유형

| Command | Description |
|---------|-------------|
| `Epic` | 대규모 작업 단위; 스토리를 포함 |
| `Story` | 사용자에게 보이는 기능 또는 요구사항 |
| `Task` | 작업 단위 (기술적 또는 비기술적) |
| `Bug` | 결함 또는 예상치 못한 동작 |
| `Sub-task` | 스토리/태스크의 하위 작업; 독립적으로 존재 불가 |

### 이슈 필드

| Command | Description |
|---------|-------------|
| `Summary` | 짧은 제목 (필수) |
| `Description` | 상세 내용, 수락 기준 |
| `Assignee` | 담당자 |
| `Priority` | Highest / High / Medium / Low / Lowest |
| `Labels` | 그룹화를 위한 자유 형식 태그 |
| `Components` | 프로젝트 하위 섹션 (예: Backend, UI) |
| `Fix Version` | 이 이슈가 대상으로 하는 릴리스 |
| `Story Points` | 작업량 추정 (Scrum) |

### 이슈 연결

| Command | Description |
|---------|-------------|
| `blocks / is blocked by` | 의존 관계 |
| `clones / is cloned by` | 중복 추적 |
| `relates to` | 일반적인 연관 관계 |
| `is caused by / causes` | 근본 원인 연결 |

## JQL 검색

### 기본 문법

```
project = MYPROJ AND status = "In Progress"
assignee = currentUser() AND resolution = Unresolved
priority in (High, Highest) ORDER BY created DESC
```

### 연산자

| Command | Description |
|---------|-------------|
| `=` | 정확히 일치 |
| `!=` | 같지 않음 |
| `in (a, b)` | 목록 중 하나와 일치 |
| `not in (a, b)` | 목록에서 제외 |
| `~ "text"` | 포함 (텍스트 검색) |
| `!~ "text"` | 포함하지 않음 |
| `is EMPTY` | 필드에 값 없음 |
| `is not EMPTY` | 필드에 값 있음 |
| `> < >= <=` | 비교 (날짜, 숫자) |

### 날짜 함수

```
created >= -7d                       # last 7 days
due <= endOfWeek()                   # due this week
updated >= startOfMonth()            # updated this month
created >= "2025-01-01"              # since specific date
```

### 유용한 JQL 패턴

```
# 오래된 이슈
status != Done AND updated <= -30d
# 내 열린 버그
assignee = currentUser() AND type = Bug AND resolution = Unresolved
# 스프린트 범위
sprint in openSprints() AND project = MYPROJ
```

## 워크플로우

### 기본 워크플로우

| Command | Description |
|---------|-------------|
| `To Do` | 시작 전 |
| `In Progress` | 진행 중 |
| `Done` | 완료 |

### 확장 워크플로우

| Command | Description |
|---------|-------------|
| `Open` | 생성됨, 트리아지 대기 중 |
| `In Progress` | 적극적으로 작업 중 |
| `In Review` | 코드 리뷰 또는 QA |
| `Done` | 승인 및 완료 |
| `Reopened` | Done에서 되돌아옴 |

### 워크플로우 개념

| Command | Description |
|---------|-------------|
| `Status` | 이슈의 현재 상태 |
| `Transition` | 허용된 상태 전환 |
| `Condition` | 전환을 수행할 수 있는 대상 |
| `Validator` | 전환 전 조건 검사 |
| `Post Function` | 전환 후 수행할 동작 (예: 담당자 지정) |
| `Resolution` | 이슈가 닫힌 이유 (Fixed, Won't Do) |

## 보드

### 보드 유형

| Command | Description |
|---------|-------------|
| `Scrum Board` | 스프린트 기반; 백로그, 스프린트 계획, 벨로시티 |
| `Kanban Board` | 지속적 흐름; WIP 제한, 스프린트 없음 |

### 보드 컬럼

| Command | Description |
|---------|-------------|
| `Column` | 하나 이상의 상태와 매핑 |
| `WIP Limit` | 컬럼 내 최대 이슈 수 (Kanban) |
| `Swimlane` | 수평 그룹 (에픽, 담당자 등 기준) |
| `Quick Filter` | 보드의 JQL 기반 토글 필터 |

### 보드 설정

| Command | Description |
|---------|-------------|
| `Filter` | 보드 범위를 정의하는 JQL 쿼리 |
| `Estimation` | 스토리 포인트 또는 원래 추정값 |
| `Card Layout` | 이슈 카드에 표시할 필드 |
| `Card Colors` | 우선순위, 담당자, 쿼리 기준으로 색상 지정 |

## 스프린트

### 스프린트 생명주기

| Command | Description |
|---------|-------------|
| `Create` | 이름 + 선택적 목표 및 날짜 |
| `Plan` | 백로그에서 스프린트로 이슈 드래그 |
| `Start` | 기간 설정 (일반적으로 1-4주) |
| `Active` | 팀이 스프린트 이슈 작업 중 |
| `Complete` | 미완료 항목을 백로그 또는 다음 스프린트로 이동 |

### 스프린트 리포트

| Command | Description |
|---------|-------------|
| `Burndown Chart` | 남은 작업량 대 시간 |
| `Sprint Report` | 완료 vs 미완료 |
| `Velocity Chart` | 스프린트별 스토리 포인트 추이 |
| `Cumulative Flow` | 시간에 따른 상태 분포 |

### 스프린트 JQL

```
sprint in openSprints()              # current sprint
sprint in futureSprints()            # upcoming sprints
sprint = "Sprint 12"                 # specific sprint
sprint in closedSprints() AND resolution = Unresolved
```

## 필터

### 필터 만들기

| Command | Description |
|---------|-------------|
| `Search` | 이슈 검색에서 JQL 작성 |
| `Save As` | JQL을 이름 있는 필터로 저장 |
| `Star` | 빠른 접근을 위해 필터 즐겨찾기 |
| `Subscription` | 일정에 따라 필터 결과 이메일 수신 |

### 공유 및 권한

| Command | Description |
|---------|-------------|
| `Private` | 본인만 볼 수 있음 |
| `Group` | 특정 그룹과 공유 |
| `Project` | 프로젝트 멤버와 공유 |
| `Public` | 로그인한 모든 사용자 |
| `Edit Permissions` | 필터 수정 권한 제어 |

### 대시보드

| Command | Description |
|---------|-------------|
| `Filter Results` | 필터에서 이슈를 보여주는 가젯 |
| `Pie Chart` | 필드별 분류 (우선순위, 담당자) |
| `Two Dimensional` | X/Y 매트릭스 (예: 우선순위 vs 상태) |
| `Activity Stream` | 최근 프로젝트 활동 |

## 단축키

### 전역 탐색

| Command | Description |
|---------|-------------|
| `g then d` | 대시보드로 이동 |
| `g then b` | 보드로 이동 |
| `g then i` | 이슈 검색으로 이동 |
| `/` | 빠른 검색 |
| `c` | 이슈 생성 |
| `?` | 키보드 단축키 표시 |

### 이슈 보기

| Command | Description |
|---------|-------------|
| `a` | 나에게 할당 |
| `m` | 댓글 |
| `l` | 라벨 수정 |
| `e` | 이슈 수정 |
| `j / k` | 목록의 다음 / 이전 이슈 |
| `o` | 선택한 이슈 열기 |

### 보드 단축키

| Command | Description |
|---------|-------------|
| `1-9` | 이슈를 컬럼 1-9로 이동 |
| `t` | 상세 보기 토글 |
| `n` | 다음 카드 |
| `p` | 이전 카드 |

## 주요 패턴

### 버그 리포트 템플릿

| Command | Description |
|---------|-------------|
| `Summary` | [컴포넌트] 버그에 대한 짧은 설명 |
| `Steps to Reproduce` | 이슈를 재현하는 번호 매긴 단계 |
| `Expected` | 기대되는 동작 |
| `Actual` | 실제로 발생한 동작 |
| `Environment` | OS, 브라우저, 버전 등 |
| `Severity` | Blocker / Critical / Major / Minor / Trivial |

### 스토리 형식

```
As a [role],
I want [action],
so that [benefit].
---
Acceptance Criteria:
- [ ] Criterion 1
- [ ] Criterion 2
```

### 일괄 작업

| Command | Description |
|---------|-------------|
| `Search → Select All` | 검색 결과에서 이슈 선택 |
| `Bulk Change` | 일괄 수정, 전환, 또는 삭제 |
| `CSV Export` | 리포팅용 검색 결과 내보내기 |
| `Board drag` | 컬럼/스프린트 간 이슈 드래그 |
