Automating Code Reviews with GitHub Actions and OpenAI

Published: (June 13, 2026 at 03:35 PM EDT)
2 min read
Source: Dev.to

Source: Dev.to

Manual code reviews are a bottleneck in fast-moving development teams. Automating initial feedback loops ensures consistency and allows human reviewers to focus on architectural decisions rather than trivial syntax issues. An AI-assisted code review workflow uses a CI/CD pipeline—triggered on Pull Request events—to send diffs to an LLM for automated analysis. This process identifies potential bugs, security vulnerabilities, and code style improvements before a human engineer ever opens the PR. This implementation uses GitHub Actions to trigger on pull_request events and the OpenAI API to process the code changes. Create a file at .github/workflows/ai-review.yml in your repository: name: AI Code Review on: pull_request jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run AI Review env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: | node scripts/ai-reviewer.js

The scripts/ai-reviewer.js fetches the current PR diff and sends it to GPT-4o for analysis: const { OpenAI } = require(‘openai’); const { execSync } = require(‘child_process’);

async function reviewCode() { const diff = execSync(‘git diff origin/main’).toString(); const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

const response = await openai.chat.completions.create({ model: ‘gpt-4o’, messages: [{ role: ‘user’, content: Review this code for bugs and style: ${diff} }] });

console.log(response.choices[0].message.content); }

reviewCode();

Token Limits: Large PRs can exceed context windows. Always filter for specific file extensions (e.g., .ts, .tsx) to keep diffs small. Noise: Prompt engineering is crucial. Add “Ignore minor formatting changes” to your system prompt to prevent unnecessary comments. Security: Ensure your OPENAI_API_KEY is added to your repository’s Secrets, never hardcode it. Integrating AI into the code review process offers immense speed, but it can introduce “false positives” that frustrate senior developers. What specific guardrails or automated tests do you implement to ensure AI feedback remains helpful rather than noisy?

0 views
Back to Blog

Related posts

Read more »

The spec is in the wrong place

My day job is at a large tech company. Hundreds of engineering teams, and every one of them is somewhere different on AI adoption. Some are still treating codin...

The Heuristics Say Don't

A culture that only records its disasters ends up with a biased archive. Wars documented, plagues chronicled, collapses catalogued. The quiet decades go unwritt...