PR 봇 find_meta 가 리뷰 코멘트를 metadata 로 오인하던 버그 수정 - #674
Conversation
느슨한 contains("discord-pr-bot") 는 discord-pr-bot.yml 파일명을 언급한
리뷰 코멘트까지 잡았다. tail -n 1 이 나중에 달린 리뷰 코멘트를 집으면
JSON 이 없어 message_id 를 못 읽고, 리액션·스레드 정리·고정 스텝이 전부
skip 됐다 (#673 머지 시 머지완료 리액션 누락으로 발견).
select 를 test("discord-pr-bot:\\s*\\{") 로 좁혀 JSON 시작 마커가 있는
metadata 코멘트만 매칭한다. #673 코멘트로 실측: OLD 2건 매칭 → NEW 1건.
|
Discord 스레드 연동용 메타데이터입니다. discord-pr-bot 워크플로가 자동 생성하며, 수정·삭제하면 PR 과 Discord 알림 연동이 끊깁니다. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughGitHub Actions 워크플로우 파일에서 Discord PR 봇의 메타데이터 댓글 탐지 방식이 변경되었습니다. 기존 문자열 포함(contains) 검사 대신 ChangesDiscord PR 봇 메타 주석 매칭
Estimated code review effort: 1 (Trivial) | ~3 minutes 한 줄 리뷰: 🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Manage status reaction 은 매 이벤트에 이전 상태 3개 DELETE + 현재 1개 PUT 을 연속 호출하는데, Discord reaction API 는 rate limit 이 빡빡해 마지막 PUT 이 429 로 튕겨 리액션이 안 달렸다 (로그: "리액션 실패 HTTP 429"). reaction_api 가 429 를 받으면 응답 body 의 retry_after(초)만큼 쉬고 재시도한다 (최대 5회). 정상 코드는 즉시 반환. #674(find_meta skip) 를 고치니 그 다음 관문인 rate limit 이 드러났다.
Situation
Task
Action
원인
find_meta 는 PR 코멘트에서 숨겨진 metadata 주석(
<!-- discord-pr-bot: {...} -->)을 찾아 message_id·thread_id 를 읽는다. 그 select 조건이 느슨했다.tail -n 1이 그 리뷰 코멘트를 집었다.if: message_id != ''가 거짓이 돼 skip 됐다.수정
contains("discord-pr-bot")에서test("discord-pr-bot:\s*\{")로 좁혔다. JSON 시작 마커(discord-pr-bot: {)가 있는 metadata 주석만 매칭하고, 파일명만 언급한 리뷰 코멘트(discord-pr-bot.yml)는 제외된다.Result
연관 이슈
Summary by CodeRabbit