gh-pr plugin
사용 예시
merge 사용 결과
한 줄 요약 — 승인된 PR 을 받아 머지된 PR 과 삭제된 브랜치를 생성합니다.
NOTE — 이 문서는 미실행 예시입니다
gh-pr 스킬 8개는 모두 live repo 에 쓰므로 문서화 목적으로 실행하지 않았습니다.
명령·게이트·결과는 skills/merge/SKILL.md 인용이며
실행 로그가 아닙니다.
입력
승인된 PR
스킬
/gh-pr:merge
산출물
머지된 PR + 삭제된 브랜치
step 1
실행할 명령
형식 한 줄, 대표 호출 두 가지, 그리고 실제로 나가는 내부 호출.
/gh-pr:merge <pr-number> [rebase|squash|merge] [remote]
/gh-pr:merge 12 # 기본 전략 rebase, 확인을 묻지 않는다
/gh-pr:merge 12 squash # squash 로 접어서 머지
# 내부 호출: GH_HOST="$TARGET_HOST" gh pr merge <N> --repo "$TARGET_REPO" --<strategy> --delete-branch
step 2
입력
무엇이 입력이고, 실행 전 어떤 선행 조건이 충족돼야 하는가.
입력은 승인이 끝난 열린 PR 하나와 전략 선택이다. 실행 전 게이트(Step 2)를 하나라도 어기면 머지하지 않고 정지한다 — 강행하지 않는다.
state != OPEN,isDraft,mergeable == CONFLICTING,mergeStateStatus가BEHIND/BLOCKED/DIRTY, required check 가FAILURE/IN_PROGRESS/QUEUED.reviewDecision != APPROVED→/gh-pr:merge-emergency로 안내. 유일한 예외는 base 브랜치에 protection 이 없고reviewDecision이 빈 문자열인 경우다.- 선택한 전략이 저장소에서 비활성화돼 있으면 안내 후 정지 — 다른 전략으로 바꾸지 않는다.
step 3
결과 (실행 시)
실행하면 어디에 무엇이 남는가.
- PR 이 머지되고 head 브랜치가 삭제된다(항상
--delete-branch). - projectV2 보드에서 PR 카드와 연결된 이슈 카드가
Done으로 이동하고,review-passed라벨이 제거되며, ai-metrics PR 코멘트가 남는다(전부 soft-fail).
다음 형태의 compact 보고가 출력된다.
mergeCommit.oid 가 아직 없으면 (pending).
[OK] PR #<N> merged (<strategy>)
Merge SHA: <sha>
Branch: <headRefName> → <baseRefName> (deleted)
URL: <pr-url>
정지한 경우
[FAIL] PR #<N> not merged — <reason> 와 리다이렉트 안내
(예: /gh-pr:merge-emergency)가 나온다.
보고 출력 이후 — post-merge 검증 dispatch
보고가 출력된 뒤, watched-repos 레지스트리에 등록된 저장소에 한해 post-merge 검증 dispatch 가 인라인 실행된다.
dispatch 블록 파일이 없으면 [WARN] 한 줄을 찍고 건너뛴다.
미등록 저장소는 출력도 dispatch 도 [WARN] 도 없다.