PR 리마크 표시
풀 리퀘스트의 해결되지 않은 모든 댓글을 테이블로 표시합니다.
입력
다음 순서로 PR 번호를 결정합니다:
- 현재 대화 맥락에서 추론합니다.
- 현재 브랜치 이름에서 파싱합니다 (예:
APIF-1234/some-feature→ 해당 브랜치의 PR 검색). - 모호한 경우 사용자에게 질문합니다.
프로세스
# 현재 브랜치에서 PR 번호 찾기
gh pr list --head "$(git rev-parse --abbrev-ref HEAD)" --json number,url --jq '.[0]'
# 모든 리뷰 댓글 + 이슈 댓글 가져오기
gh pr view <PR> --json reviews,comments
# 또는 인라인 댓글 가져오기
gh api repos/:owner/:repo/pulls/<PR>/comments
gh api repos/:owner/:repo/issues/<PR>/comments
gh api를 사용하여 다음을 가져옵니다:
- 풀 리퀘스트 리뷰 댓글 (인라인, diff 기준):
GET /repos/{owner}/{repo}/pulls/{pull_number}/comments- 이 댓글들은
path(파일)와line(또는original_line) 필드를 포함합니다.
- 이 댓글들은
- 이슈 수준 댓글 (일반):
GET /repos/{owner}/{repo}/issues/{pull_number}/comments- 파일/라인이 없습니다(PR 수준). 위치는 비워둡니다.
- 리뷰 스레드 및 해결 상태:
gh pr view <PR> --json reviewThreads
해결되지 않은 스레드만 필터링합니다 (isResolved: false). 스레드에 속하지 않은 댓글은 모두 포함합니다.
출력
마크다운 테이블로 렌더링:
| # | 작성자 | 카테고리 | 메시지 | 위치 |
|---|---|---|---|---|
| 1 | @alice | 질문 | "왜 ConcurrentDictionary를 사용했나요?" | Foo.cs:42 |
| 2 | @bob | 잠재적 버그 | "이 코드는 프로덕션에서 null 참조를 유발합니다..." | Bar.cs:17 |
| 3 | @carol | 제안 | "도우미 메서드로 추출하는 것을 고려해보세요." | (PR 수준) |
카테고리 — 댓글 본문을 읽고 그 성격을 가장 잘 나타내는 1~2단어를 선택합니다. 고정된 목록은 없으며 자유롭게 추론합니다. 좋은 값의 예시: 질문, 잠재적 버그, 심각한 버그, 수정 필수, 경고, 제안, 권장, 정리, 테스트 문제, 정보 — 하지만 댓글을 정확히 반영하는 간결한 레이블이면 모두 유효합니다.
위치 — 인라인 diff 댓글의 경우 `파일명:라인` 형식을 사용합니다 (line 필드 사용, 없으면 original_line으로 대체). PR 수준 이슈 댓글의 경우 _(PR 수준)_이라고 씁니다.
테이블 아래에 요약 줄을 포함합니다:
PR #NNN —
<PR 제목>에서 N개의 해결되지 않은 댓글