feat: /mr 스킬 봇 승인/머지 옵션 반영
- /mr 스킬에 claude-bot 자동 승인+머지 선택 단계 추가 - 가이드 스킬 테이블 및 개발 흐름에 봇 승인 설명 반영
This commit is contained in:
부모
ec99cab408
커밋
6ac1c8cedb
@ -174,8 +174,52 @@ curl -X POST "https://{host}/api/v1/repos/{owner}/{repo}/pulls" \
|
||||
}'
|
||||
```
|
||||
|
||||
### 7. 결과 출력
|
||||
### 7. PR 승인 + 머지 (선택)
|
||||
|
||||
**사용자 확인** (AskUserQuestion):
|
||||
- **질문**: "MR을 어떻게 처리하시겠습니까?"
|
||||
- 옵션 1: 리뷰 대기 (추천) — MR만 생성, 리뷰어 지정 후 수동 머지
|
||||
- 옵션 2: 승인 + 머지 — claude-bot으로 즉시 승인하고 머지
|
||||
|
||||
**승인 + 머지 선택 시**:
|
||||
|
||||
```bash
|
||||
# CLAUDE_BOT_TOKEN 확인
|
||||
if [ -z "$CLAUDE_BOT_TOKEN" ]; then
|
||||
echo "CLAUDE_BOT_TOKEN이 설정되지 않아 자동 승인이 불가합니다. MR만 생성합니다."
|
||||
# MR URL 출력 후 종료
|
||||
fi
|
||||
|
||||
# 1. claude-bot이 PR 리뷰 승인
|
||||
curl -X POST "https://{host}/api/v1/repos/{owner}/{repo}/pulls/{pr_number}/reviews" \
|
||||
-H "Authorization: token ${CLAUDE_BOT_TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"event": "APPROVED", "body": "MR 승인 (via /mr skill)"}'
|
||||
|
||||
# 2. 머지 실행
|
||||
curl -X POST "https://{host}/api/v1/repos/{owner}/{repo}/pulls/{pr_number}/merge" \
|
||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"Do": "merge", "merge_message_field": "MR 제목", "delete_branch_after_merge": true}'
|
||||
```
|
||||
|
||||
⚠️ `delete_branch_after_merge: true` — feature 브랜치는 머지 후 삭제한다 (develop/main과 달리).
|
||||
|
||||
### 8. 결과 출력
|
||||
|
||||
**승인 + 머지한 경우**:
|
||||
```
|
||||
✅ MR 머지 완료
|
||||
브랜치: feature/my-branch → develop
|
||||
MR: https://gitea.gc-si.dev/gc/my-project/pulls/42
|
||||
커밋: 3건, 파일: 5개 변경
|
||||
릴리즈 노트: docs/RELEASE-NOTES.md [Unreleased] 갱신됨
|
||||
PR 승인: claude-bot ✅
|
||||
머지: 완료 ✅
|
||||
브랜치 삭제: feature/my-branch ✅
|
||||
```
|
||||
|
||||
**리뷰 대기 선택 시**:
|
||||
```
|
||||
✅ MR 생성 완료
|
||||
브랜치: feature/my-branch → develop
|
||||
@ -190,6 +234,7 @@ curl -X POST "https://{host}/api/v1/repos/{owner}/{repo}/pulls" \
|
||||
|
||||
- `GITEA_TOKEN`: Gitea API 접근 토큰
|
||||
- 없으면: "Gitea 토큰이 필요합니다. Settings → Applications에서 생성하세요" 안내
|
||||
- `CLAUDE_BOT_TOKEN`: claude-bot PR 승인용 토큰 (선택, 없으면 자동 승인 건너뜀)
|
||||
|
||||
## 기존 /create-mr과의 차이
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@ import { StepGuide } from '../components/common/StepGuide';
|
||||
|
||||
const SKILLS = [
|
||||
{ name: '/push', desc: '변경 확인 → 커밋 메시지 자동 제안 → 푸시', perm: 'push' },
|
||||
{ name: '/mr', desc: '커밋 + 푸시 + MR 생성 + 릴리즈 노트 갱신', perm: 'push' },
|
||||
{ name: '/mr', desc: '커밋 + 푸시 + MR 생성 + 릴리즈 노트 갱신 + 봇 승인/머지 선택', perm: 'push' },
|
||||
{ name: '/release', desc: '릴리즈 노트 정리 + develop→main MR + 봇 승인/머지', perm: 'admin' },
|
||||
{ name: '/version', desc: 'VERSION-HISTORY.md (SemVer) 생성', perm: 'admin' },
|
||||
{ name: '/create-mr', desc: 'MR만 생성 (세부 옵션 지원)', perm: 'push' },
|
||||
@ -91,11 +91,13 @@ export default function ClaudeCodeSkills() {
|
||||
code={`/mr
|
||||
# 1. 커밋되지 않은 변경이 있으면 커밋+푸시
|
||||
# 2. 릴리즈 노트(RELEASE-NOTES.md) 자동 갱신
|
||||
# 3. 사용자 첨삭 확인 후 Gitea MR 생성`}
|
||||
# 3. 사용자 첨삭 확인 후 Gitea MR 생성
|
||||
# 4. 리뷰 대기 or 봇 승인+머지 선택`}
|
||||
/>
|
||||
<p className="text-xs text-text-muted mt-1">
|
||||
<code className="bg-bg-tertiary px-1 rounded">/mr</code>은{' '}
|
||||
<code className="bg-bg-tertiary px-1 rounded">/push</code> + MR + 릴리즈 노트를 한 번에 처리합니다.
|
||||
MR 생성 후 리뷰 대기 또는 claude-bot 자동 승인+머지를 선택할 수 있습니다.
|
||||
</p>
|
||||
</>
|
||||
),
|
||||
|
||||
불러오는 중...
Reference in New Issue
Block a user