GPT-4 ve GitHub Actions kullanarak PR Review Otomasyonu: AI Code Reviewer

Eray Gündoğmuş
3 min readNov 12, 2023

Pull request review için genel olarak takım arkadaşlarımızla fikir alışverişi yaparak kod kalitesini arttırabildiğimiz, yazdığımız kodu belirli otomasyon araçlarıyla bir pipelinedan geçirebildiğimiz, vaktimizi daha verimli ve düzenli kullanmaya olanak sağlayan önemli bir süreç diyebiliriz.

Yapay zekadaki gelişmelerin ardından ise hayatımızın her alanına dahil olduğu gibi yazılım geliştirme takımları için büyük önemi olan “Pull request review” gibi bir konuda neden fayda sağlamayalım dedim ve ufak bir araştırma sonrasında bir çözüme rastladım. AI Code Reviewer

AI Code Reviewer, OpenAI’nin GPT-4 teknolojisini kullanarak GitHub Actions ile entegre bir şekilde pull request’ler için otomatik kod incelemesi yapabilen yenilikçi bir araç. Bu araç, yazılım geliştirme sürecini kolaylaştırmak için tasarlanmıştır ve geliştiricilere, kodlarındaki potansiyel sorunları ve iyileştirme fırsatlarını akıllıca belirleyerek değerli geri bildirimler sunar. AI Code Reviewer, pull request’leri gerçek zamanlı olarak inceler, kod değişikliklerine yönelik detaylı önerilerde bulunur ve özelleştirilebilir yorumlar yapar. Ayrıca, belirli dosya ve desenleri dışarıda tutarak sadece önemli alanlara odaklanılmasını sağlar. Bu araç, kod kalitesini artırmak ve geliştirme süreçlerini verimli bir şekilde yönetmek isteyen ekipler için ideal bir çözümdür.

Hali hazırda SonarQube gibi kod kalitesini analiz eden, kuralları ve patternleri kontrol eden bir araç olduğunun farkındayım. Bununla birlikte, AI Code Reviewer, OpenAI’nin GPT-4 teknolojisini kullanarak pull request’lerde daha dinamik ve bağlama duyarlı otomatik incelemeler sağlayarak farklı bir yaklaşım sunar.

SonarQube, statik kod analizi yoluyla genel kod kalitesi ve güvenlik açıklarını tespit ederken, AI Code Reviewer, kod değişikliklerini gerçek zamanlı olarak inceleyerek özelleştirilebilir ve etkileşimli geri bildirimler sağlar ve GitHub ile entegre olur. Bu nedenle, her iki aracın da yazılım geliştirme sürecindeki farklı ihtiyaçlara hizmet ettiği ve birbirlerini tamamlayıcı nitelikte olduğu söylenebilir.

Kurulum

  1. AI Code Reviewer’i GitHub Actions’da kullanabilmek için bir OpenAI API anahtarı edinin.
  2. OpenAI API anahtarını GitHub Secret değeri olarak OPENAI_API_KEY ismiyle kaydedin.

3. “.github” isminde bir klasör oluşturun ve “workflows” isminde bir klasör daha ekleyin. Ardından içine “[isim].yml” şeklinde bir dosya oluşturup, aşağıdaki içeriği dosyanın içine yapıştırın.

name: AI Code Reviewer

on:
pull_request:
types:
- opened
- synchronize
permissions: write-all
jobs:
review:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3

- name: AI Code Reviewer
uses: your-username/ai-codereviewer@main
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENAI_API_MODEL: "gpt-4" # Optional: defaults to "gpt-4"
exclude: "**/*.json, **/*.md" # Optional: exclude patterns separated by commas

Not: GITHUB_TOKEN isimli secret nasıl eklenir bilmiyorsanız, tıklayın.

4. “exclude” özelliğini özelleştirip review edilmemesini istediğiniz dosyaları belirtin.

5. Değişikliklerinizi commit atın. Artık AI Code Reviewer sıradaki pull requestinizde çalışıyor olacak.

Örnekler

Bu araç sayesinde artık takım arkadaşlarımızdan önce AI desteğini alacağız ve review edecek kişilerin işini kolaylaştıracağız.

Herkese iyi çalışmalar.

--

--