AI-Powered GitHub Commit Reviewer
Overview
Workflow Name : AI-Powered GitHub Commit Reviewer
Author : Akhil
Purpose : This n8n workflow triggers on a GitHub push event, fetches commit diffs, formats them into HTML, runs an AI-powered code review using Groq LLM, and sends a detailed review via email.
How It Works (Step-by-Step)
1. GitHub Trigger
- Node Type : n8n-nodes-base.githubTrigger
- Purpose : Initiates the workflow on GitHub push events.
- Repo : akhilv77/relevance
- Output : JSON with commit and repo details.
2. Parser
- Node Type : n8n-nodes-base.set
- Purpose : Extracts key info (repo ID, name, commit SHA, file changes).
3. HTTP Request
- Node Type : n8n-nodes-base.httpRequest
- Purpose : Fetches commit diff details using GitHub API.
- Auth : GitHub OAuth2 API.
4. Code (HTML Formatter)
- Node Type : n8n-nodes-base.code
- Purpose : Formats commit info and diffs into styled HTML.
- Output : HTML report of commit details.
5. Groq Chat Model
- Node Type : @n8n/n8n-nodes-langchain.lmChatGroq
- Purpose : Provides the AI model (llama-3.1-8b-instant).
6. Simple Memory
- Node Type : @n8n/n8n-nodes-langchain.memoryBufferWindow
- Purpose : Maintains memory context for AI agent.
7. AI Agent
- Node Type : @n8n/n8n-nodes-langchain.agent
- Purpose : Executes AI-based code review.
- Prompt : Reviews for bugs, style, grammar, and security. Outputs styled HTML.
8. Output Parser
- Node Type : n8n-nodes-base.code
- Purpose : Combines commit HTML with AI review into one HTML block.
9. Gmail
- Node Type : n8n-nodes-base.gmail
- Purpose : Sends review report via email.
- Recipient : [email protected]
10. End Workflow
- Node Type : n8n-nodes-base.noOp
- Purpose : Marks the end.
Customization Tips
- GitHub Trigger : Change repo/owner or trigger events.
- HTTP Request : Modify endpoint to get specific data.
- AI Agent : Update the prompt to focus on different review aspects.
- Groq Model : Swap for other supported LLMs if needed.
- Memory : Use dynamic session key for per-commit reviews.
- Email : Change recipient or email styling.
Error Handling
Use Error Trigger nodes to handle failures in:
- GitHub API requests
- LLM generation
- Email delivery
Use Cases
- Instant AI-powered feedback on code pushes.
- Pre-human review suggestions.
- Security and standards enforcement.
- Developer onboarding assistance.
Required Credentials
| Credential | Used By | Notes | 
|---|
| GitHub API (ID PSygiwMjdjFDImYb) | GitHub Trigger | PAT with repoandadmin:repo_hook | 
| GitHub OAuth2 API | HTTP Request | OAuth2 token with reposcope | 
| Groq - Akhil (ID HJl5cdJzjhf727zW) | Groq Chat Model | API Key from GroqCloud | 
| Gmail OAuth2 - Akhil (ID wqFUFuFpF5eRAp4E) | Gmail | Gmail OAuth2 for sending email | 
Final Note
Made with ❤️ using n8n by Akhil.