GitHub PR 자동 AI 리뷰 구현: LangChain & OpenAI 활용
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

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

카테고리

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

서브카테고리

DevOps

대상자

  • *개발자, DevOps 엔지니어** (중급~고급)

핵심 요약

  • GitHub PR에 자동 AI 리뷰 기능 구현: 웹훅과 GitHub API, LangChain/OpenAI 연동하여 자동 리뷰 생성
  • 핵심 기술 스택: GitHub Webhook, HMAC-SHA256 인증, LangChain, OpenAI
  • 프롬프트 설계 중요성 강조: 리뷰 방향성 및 품질은 프롬프트 구성에 따라 달라짐

섹션별 세부 요약

1. GitHub Webhook 이벤트 받기

  • GitHub 웹훅 설정을 통해 PR 생성/업데이트 이벤트 감지
  • Webhook URL 설정: Settings > Webhooks > Add webhook
  • 이벤트 타입 필터: opened, synchronize만 처리

2. 요청 진위 확인 🔐

  • X-Hub-Signature-256 헤더로 HMAC-SHA256 서명 검증
  • 서명 불일치 시 요청 거부 처리

3. PR 정보 추출

  • PR 번호(pr_number), 레포지토리(repo_full_name) 추출
  • GitHub API 인증에 Access Token 사용

4. 리뷰 체인 실행

  • PRReviewChain 클래스 사용:

```python

review_chain = PRReviewChain(pr_number, repo_full_name)

review_chain.run()

```

  • 내부 로직: PR 정보 수집 → AI 리뷰 생성 → GitHub에 코멘트 등록

5. LangChain + OpenAI 리뷰 생성

  • LangChain 프레임워크를 통해 AI 모델과 연동
  • 프롬프트에 코딩 컨벤션, 리뷰 중점 사항 포함
  • 리뷰 방식: 전체 PR 리뷰 + 파일별 라인 단위 리뷰

6. GitHub API로 코멘트 등록

  • GitHub API를 사용해 리뷰 코멘트 등록:
  • 전체 리뷰 → PR 단일 코멘트
  • 파일별 리뷰 → 라인 단위 코멘트

결론

  • 프롬프트 설계가 리뷰 품질의 핵심 → 보안, 성능, 코드 스타일 등 목적에 따라 프롬프트 수정 필요
  • GitHub API + AI 연동 구현은 DevOps 자동화의 핵심 사례로, 확장 가능성이 높음