AI 기반 GitHub 커밋 코드 리뷰 자동 이메일 발송기 - n8n 워크플로우

이 종합적인 n8n 워크플로우를 사용하여 코드 리뷰를 자동화하세요. GitHub 푸시 이벤트를 트리거로 사용하며, n8n 템플릿이 Groq AI 모델을 활용해 코드 변경 사항을 분석하고 Gmail을 통해 구조화된 리뷰 요약을 즉시 이메일로 전송합니다.

워크플로우 미리보기

자동화할 준비가 되셨나요?

이 n8n 워크플로우 템플릿을 다운로드하고 즉시 사용을 시작하세요.

추천 대상

Markdown-formatted text:
새 커밋에 대한 즉각적인 피드백이 필요한 소프트웨어 개발팀
n8n을 사용하여 CI/CD 파이프라인에 자동화된 품질 게이트 통합을 원하는 DevOps 엔지니어
웹훅, 사용자 지정 코드 및 대규모 언어 모델의 고급 조합 사용 사례가 필요한 n8n 사용자
단일 n8n 워크플로우로 여러 저장소의 코드 품질을 모니터링하려는 기술 리드

개요

수동 코드 리뷰는 시간이 많이 걸리고 사람의 실수로 인해 오류가 발생하기 쉽습니다. 이 n8n 워크플로우는 AI 기반의 실시간 코드 품질 피드백 루프를 생성하여 이 문제를 해결합니다. 개발자가 모니터링 중인 GitHub 저장소에 코드를 푸시하면 n8n 트리거가 즉시 자동화를 활성화합니다. 워크플로우는 전체 커밋 세부 정보를 가져와 형식이 지정된 코드 변경 사항(diff)을 Groq를 사용하는 지능형 AI 에이전트에게 전달합니다. 에이전트는 기능적 문제, 스타일, 잠재적 보안 취약성을 분석하고 개선 사항을 제안하며 구조화된 HTML 요약을 반환합니다. 이 모든 프로세스는 다양한 n8n 노드에 의해 관리되며, 최신 팀에게 가장 유용한 n8n 템플릿 중 하나로서 검토자의 받은 편지함으로 신속하고 일관된 코드 피드백을 직접 전달합니다.

작동 방식

이 강력한 n8n 워크플로우는 Github Trigger n8n 노드로 실행을 시작합니다. 이 n8n 트리거는 특정 저장소의 'push' 이벤트를 수신하도록 구성됩니다.


  1. 트리거 및 데이터 파싱: 푸시가 발생하면 Github Trigger가 페이로드를 캡처합니다. 이어서 실행되는 Parser n8n 노드는 필수 메타데이터(저장소 이름, 소유자, 커밋 ID)를 추출합니다.

  2. 커밋 세부 정보 가져오기: HTTP Request n8n 노드가 커밋 ID를 사용하여 GitHub API를 호출하고, 중요한 패치/diff 데이터를 포함한 상세 커밋 정보를 검색합니다.

  3. HTML 서식 지정 (Code 노드): Code n8n 노드가 원시 커밋 데이터를 가져와 가독성을 높이도록 색상이 구분된 스타일의 HTML 출력으로 변환합니다. 여기에는 이메일 클라이언트에서 최적으로 보일 수 있도록 추가된 줄은 녹색(+), 삭제된 줄은 빨간색(-)으로 코드 변경 사항을 구분하는 작업이 포함됩니다.

  4. AI 분석 (AI Agent 노드): AI Agent n8n 노드가 이 HTML 서식이 지정된 데이터를 입력받습니다. 엄격한 시스템 프롬프트를 통해 전문 코드 리뷰어 역할을 수행하도록 지시받으며, 기능, 스타일, 보안 문제를 중점적으로 검토합니다. 처리를 위해 Groq 채팅 모델과 Simple Memory n8n 노드를 사용하지만, 단일 패스 검토에서는 메모리 사용이 선택 사항입니다.

  5. 출력 조합: Output Parser Code n8n 노드가 첫 번째 Code 노드에서 가져온 원본 커밋 세부 정보와 AI 에이전트가 생성한 엄격한 HTML 요약본을 병합합니다.

  6. 최종 알림: 완성된 HTML 출력이 Gmail n8n 노드를 통해 지정된 수신자(검토자 또는 개발팀)에게 이메일로 전송되며, 자동화된 n8n 워크플로우가 완료됩니다. 이후 흐름은 End Workflow n8n 노드에서 종료됩니다.

설치 가이드

Markdown-formatted text:


  1. n8n 템플릿 가져오기: 제공된 JSON을 복사하여 n8n 인스턴스의 '새로 만들기(New)' 메뉴 -> 'JSON에서 가져오기(Import from JSON)'를 사용하여 붙여넣습니다.

  2. GitHub 자격 증명 설정: Github Trigger n8n 노드와 HTTP Request n8n 노드에 대한 자격 증명을 설정합니다.

  3. Groq 설정: Groq Chat Model n8n 노드를 Groq API 키로 구성합니다.

  4. Github 트리거 구성: 모니터링할 프로젝트에 맞게 Github Trigger n8n 노드의 저장소 URL과 소유자 세부 정보를 사용자 지정합니다. GitHub 저장소 설정에서 n8n 트리거 URL을 가리키도록 웹훅이 올바르게 설정되었는지 확인합니다.

  5. Gmail 설정: Gmail n8n 노드를 OAuth2 자격 증명으로 구성합니다. sendTo 파라미터를 원하는 검토자의 이메일 주소로 업데이트합니다.

  6. 활성화: n8n 워크플로우를 저장하고 활성화합니다. 이제 모든 푸시 이벤트 발생 시 자동으로 실행됩니다.

노드 상세 정보

Markdown-formatted text:
Github Trigger (n8n trigger):
기능: 특정 GitHub 저장소에 'push' 이벤트가 발생하면 n8n 워크플로우를 시작합니다.
주요 구성: 이벤트는 push로 설정됩니다. 프로젝트에 맞게 저장소 세부 정보를 수동으로 업데이트해야 합니다.
HTTP Request (n8n node):
기능: n8n 트리거가 제공한 커밋 ID를 동적으로 참조하여 파일 패치를 포함한 상세 커밋 메타데이터를 가져옵니다.
주요 구성: 보안 API 액세스를 위해 GitHub OAuth2 자격 증명 유형을 사용합니다. URL은 커밋 데이터 요청을 위해 동적으로 생성됩니다: =https://api.github.com/repos/{{ $json.body.repository.owner.name }}/.../commits/{{ $json.body.head_commit.id }}.
Code (Formatter n8n node):
기능: 원시 GitHub 커밋 데이터(diff)를 이메일 시각화에 탁월한 색상 구분형 스타일 HTML로 변환합니다. 추가된 줄(+, 녹색)과 삭제된 줄(-, 빨간색)을 구분합니다.
주요 구성: 메타데이터(저장소 정보, 작성자, 메시지)와 코드 변경 사항을 구조화하기 위해 사용자 지정 JavaScript 로직(formatPatch, renderResponse)을 포함합니다.
Groq Chat Model (n8n node):
기능: AI 에이전트의 LLM 백엔드를 제공하며, 빠른 코드 리뷰 생성을 위해 빠른 llama-3.1-8b-instant 모델을 활용합니다.
주요 구성: Groq API 자격 증명이 필요합니다.
AI Agent (n8n node):
기능: 핵심 인텔리전스 역할을 합니다. HTML 형식의 코드 변경 사항을 입력받아 상세한 프롬프트 지침에 따라 엄격하고 구조화된 코드 리뷰를 생성합니다.
주요 구성: 시스템 프롬프트는 AI가 기능, 스타일, 보안 문제를 확인하고 개선 사항을 제안하도록 강제하며, 결정적으로 결과를 두 가지 사전 정의된 HTML 블록 중 하나로 반환하도록 합니다.
Gmail (n8n node):
기능: 최종 병합된 HTML 출력(커밋 세부 정보 + AI 리뷰)을 이메일 알림으로 전송합니다.
주요 구성: Subject는 'Code Review'로 설정됩니다. Message는 Output Parser n8n 노드의 최종 HTML 출력을 사용합니다.

관련 n8n 워크플로우

무료

노드: 10 노드
업데이트됨: 12월 26 2025
모두 보기
작성자

I'm a full stack developer passionate about building intelligent, scalable solutions that automate workflows and enhance productivity. I love working at the intersection of AI, APIs, and automation—using tools like n8n to streamline processes, integrate data, and unlock smarter decision-making. Whether it's crafting custom backend services or designing intuitive frontends, I’m always exploring ways to build more with less manual effort.

추천*