Skip to content

Prototype Gitlab Webook that submits code to OpenAI for review. Support Azure OpenAI Service.

Notifications You must be signed in to change notification settings

takuya-o/OpenAI-Gitlab-PR-Review

 
 

Repository files navigation

AI Code Reviewer

AI Code Reviewer is a Python script that leverages OpenAI's GPT-3.5-turbo to automatically review code changes in GitLab repositories. It listens for push events, fetches the associated code changes, and provides feedback on the changes in a Markdown format.

Features

  • Automatically reviews code changes in GitLab repositories
  • Provides feedback on code clarity, simplicity, bugs, and security issues
  • Generates Markdown-formatted responses for easy readability in GitLab

Getting Started

Prerequisites

  • Python 3.8 or higher
  • Docker (optional)
  • An OpenAI API key
  • A GitLab API token

Installation

  1. Clone the repository:
git https://github.com/takuya-o/OpenAI-Gitlab-PR-Review.git
cd OpenAI-Gitlab-PR-Review
  1. Install the required Python packages:
pip install -r requirements.txt
  1. Create a .env file and set the required environment variables:
OPENAI_API_KEY=<your OpenAI API key>
GITLAB_TOKEN=<your GitLab API token>
GITLAB_URL=https://gitlab.com/api/v4
EXPECTED_GITLAB_TOKEN=<your expected GitLab token>
  1. Run the application:
python app.py

Docker

Alternatively, you can use Docker to run the application:

  1. Build the Docker image:
docker compose build
  1. Run the Docker container:
docker compose up -d

Usage

  1. Configure your GitLab repository to send webhook events to the AI Code Reviewer application by following GitLab's webhook documentation. Check only "Push Hook".

  2. The AI Code Reviewer application will automatically review code changes in your GitLab repository and provide feedback as comments on merge requests and commit diffs.

About

Prototype Gitlab Webook that submits code to OpenAI for review. Support Azure OpenAI Service.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.9%
  • Dockerfile 2.1%