AI 기반 GitHub PR 자동 리뷰 생성 방법
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

PR 올리면 AI가 혼내줍니다.. 직접 만든 이야기..

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

  • *개발자, DevOps 엔지니어, CI/CD 자동화 도입을 고려하는 팀**
  • 난이도: 중간 (GitHub 웹훅 설정, API 연동, LangChain 활용 기초 지식 필요)*

핵심 요약

  • GitHub 웹훅을 통해 PR 이벤트 감지 및 처리
  • LangChain + OpenAI로 AI 기반 리뷰 생성 (프롬프트 설정 중요)
  • GitHub API를 활용한 자동 리뷰 코멘트 등록 (Pull Request에 실시간 피드백)

섹션별 세부 요약

1. GitHub Webhook 이벤트 처리

  • 웹훅 설정 방법: 레포 > Settings > Webhooks > Add webhook
  • 이벤트 타입 필터: PR 생성(opened) 및 업데이트(synchronize)
  • 요청 본문에 포함된 정보: PR 번호, 레포 정보, 파일 목록

2. 요청 인증 검증

  • X-Hub-Signature-256 헤더로 HMAC-SHA256 서명 검증
  • 서명 불일치 시 요청 거부 처리
  • 보안 강화를 위한 필수 단계

3. PR 정보 추출 및 처리

  • PR 번호(pr_number), 레포 이름(repo_full_name) 추출
  • 추출된 정보를 GitHub API 호출에 사용
  • 리뷰 체인 실행을 위한 PRReviewChain 클래스 생성

4. AI 리뷰 생성 프로세스

  • LangChain 프레임워크를 통해 OpenAI 모델 연동
  • 프롬프트 설정 예시:

- "보안상 문제 있는 부분 알려줘"

- "코드 개선 방안 제안"

  • 리뷰 결과 포맷: 전체 리뷰 + 파일별 라인 주석

5. GitHub API를 통한 리뷰 등록

  • get_pull_request_filesget_pull_request_diff API 사용
  • Access Token을 통한 인증 처리
  • AI 리뷰 결과를 GitHub Pull Request에 실시간 반영

결론

  • 프롬프트 설정이 AI 리뷰 품질에 직접적인 영향을 미침 → 리뷰 방향성, 깊이 조정 가능
  • GitHub 웹훅 + LangChain + OpenAI + GitHub API의 4단계 연동 구조를 기반으로 구현
  • 향후 다양한 프롬프트 템플릿 확장을 통해 리뷰 시스템의 유연성 강화 예정