← ClaudeAtlas

jira-local-mergelisted

Locally merge a Jira task branch into the base branch without a remote or PR. Triggers: jira-task merge, local merge; 로컬 병합, 원격 없이 병합.
mzd-hseokkim/jira-claude-code-integration · ★ 8 · Code & Development · score 74
Install: claude install-skill mzd-hseokkim/jira-claude-code-integration
# jira-local-merge: Local Branch Merge **Language Rule**: 프로젝트 CLAUDE.md의 Conventions 섹션 참고 (한국어 출력, Jira 코멘트 제목은 영어). remote origin 없이 feature 브랜치를 base 브랜치로 로컬 병합하고, Jira 상태 전환 및 worktree 정리까지 일괄 처리한다. ## Prerequisites - feature 브랜치에 커밋이 존재 - Jira MCP 서버 연결됨 ## Workflow ### Context Optimization 이 스킬에서 `mcp__atlassian__jira_get_issue`를 호출하는 경우 다음 파라미터를 사용한다 (병합/전환에 필요한 메타만): - `fields="summary,status,issuetype"` - `comment_limit=0` ### Step 1: Load Context `.jira-context.json`을 읽어 태스크 컨텍스트 로드: - `taskId`, `branch`, `baseBranch`, `worktreePath`, `repoRoot` 인자로 TASK-ID가 전달된 경우 해당 값 우선 사용. `repoRoot`가 없으면 `git worktree list`의 첫 번째 줄로 폴백: ```bash # git worktree list 첫 번째 줄이 항상 메인 레포 경로 git worktree list | head -1 | awk '{print $1}' ``` `git worktree list --porcelain | awk 'NR==2{print $2; exit}'`도 동일 결과. `git rev-parse --show-toplevel`은 워크트리 안에서는 워크트리 경로를 반환하므로 사용하지 않음. `baseBranch`가 없으면 `repoRoot`에서 감지: ```bash git -C "<repoRoot>" rev-parse --verify develop 2>/dev/null git -C "<repoRoot>" rev-parse --verify main 2>/dev/null git -C "<repoRoot>" rev-parse --verify master 2>/dev/null ``` ### Step 2: Pre-flight Checks & Auto-commit ```bash # 1. feature 브랜치 존재 확인 git branch --list "feature/<TASK-ID>" # 2. 워크트리 내 미커밋 변경사항 확인 git -C "<worktreePath>" status --porcelain ``` 미커밋 변경사항이 있으면 **사용자에게 묻지 않고 스마트 커밋**한다. merge 요청 자체가 "커밋도 끝났길 바란다"는 의도이므로 흐름을 끊지 않는다. - 쓸데없는 파일(로그·임시·OS 아티팩트)은 스테이징에서 제외. `.gitignore`가 이미 거르는 항목(`.jira-context.json`, `TASK-README.md` 등)은 자연히 빠진다. -