📅 17 Nisan 2026 Lokasyon: .github/workflows/ Anthropic docs ↗

GitLab CI/CD

Claude Code GitHub Actions

Claude Code GitHub Actions, yapay zeka destekli otomasyonu GitHub iş akışlarınıza entegre etmenizi sağlar. Bir PR veya issue içinde @claude etiketi kullanarak Claude'un kodunuzu analiz etmesini, pull request oluşturmasını, özellikler eklemesini ve hataları düzeltmesini sağlayabilirsiniz. Tüm bunlar projenizin standartlarına uygun şekilde gerçekleşir.

Otomatik incelemelerin her PR'da tetikleyici olmadan yayınlanması için GitHub Code Review sayfasına bakın.

Claude Code GitHub Actions, Claude Agent SDK üzerine inşa edilmiştir. Bu SDK sayesinde Claude Code'u uygulamalarınıza programatik olarak entegre edebilir, GitHub Actions dışında özel otomasyon iş akışları oluşturabilirsiniz.

Not: Claude Opus 4.7 artık kullanılabilir. Claude Code GitHub Actions varsayılan olarak Sonnet kullanır. Opus 4.7 kullanmak için model parametresini claude-opus-4-7 olarak yapılandırın.

Neden Claude Code GitHub Actions kullanmalısınız? (Why use Claude Code GitHub Actions?)

Claude ne yapabilir? (What can Claude do?)

Claude Code, GitHub Actions iş akışlarınızda Claude Code'u çalıştırmanızı sağlayan güçlü bir GitHub Action sunar. Bu action ile Claude Code üzerinde herhangi bir özel iş akışı oluşturabilirsiniz.

Kurulum (Setup)

Hızlı kurulum (Quick setup)

En kolay kurulum yöntemi, terminalde Claude Code'u açıp /install-github-app komutunu çalıştırmaktır. Bu komut, GitHub uygulamasını ve gerekli secret'ları ayarlamanızda size rehberlik eder.

Manuel kurulum (Manual setup)

/install-github-app komutu başarısız olursa veya manuel kurulum tercih ederseniz:

  1. Claude GitHub uygulamasını repository'nize yükleyin: https://github.com/apps/claude
    • Claude GitHub uygulaması şu repository izinlerini gerektirir:
      • Contents: Okuma ve yazma (repository dosyalarını değiştirmek için)
      • Issues: Okuma ve yazma (issue'lara yanıt vermek için)
      • Pull requests: Okuma ve yazma (PR oluşturmak ve değişiklik göndermek için)
  2. ANTHROPIC_API_KEY'i repository secret'larınıza ekleyin.
  3. Workflow dosyasını examples/claude.yml dosyasından repository'nizin .github/workflows/ dizinine kopyalayın.

Kurulumu test etmek için bir issue veya PR yorumunda @claude etiketi kullanın.

Beta'dan yükseltme (Upgrading from Beta)

Claude Code GitHub Actions v1.0, beta sürümünden yükseltme yapmak için workflow dosyalarınızda değişiklik gerektiren breaking changes içerir.

Temel değişiklikler (Essential changes)

Breaking Changes Referansı

Eski Beta Girdisi Yeni v1.0 Girdisi
mode (Kaldırıldı - otomatik algılanıyor)
direct_prompt prompt
override_prompt GitHub değişkenleriyle prompt
custom_instructions claude_args: --append-system-prompt
max_turns claude_args: --max-turns
model claude_args: --model
allowed_tools claude_args: --allowedTools
disallowed_tools claude_args: --disallowedTools
claude_env settings JSON formatı

Öncesi ve Sonrası Örneği

Beta sürümü:

- uses: anthropics/claude-code-action@beta
  with:
    mode: "tag"
    direct_prompt: "Review this PR for security issues"
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    custom_instructions: "Follow our coding standards"
    max_turns: "10"
    model: "claude-sonnet-4-6"

GA sürümü (v1.0):

- uses: anthropics/claude-code-action@v1
  with:
    prompt: "Review this PR for security issues"
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    claude_args: |
      --append-system-prompt "Follow our coding standards"
      --max-turns 10
      --model claude-sonnet-4-6

Action artık yapılandırmanıza göre interaktif mod (@claude etiketlerine yanıt verir) veya otomasyon modu (bir prompt ile hemen çalışır) arasında otomatik geçiş yapar.

Örnek kullanım senaryoları (Example use cases)

Temel workflow (Basic workflow)

name: Claude Code
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
jobs:
  claude:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          # Yorumlardaki @claude etiketlerine yanıt verir

Skill kullanımı (Using skills)

name: Code Review
on:
  pull_request:
    types: [opened, synchronize]
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: "Review this pull request for code quality, correctness, and security. Analyze the diff, then post your findings as review comments."
          claude_args: "--max-turns 5"

Prompt ile özel otomasyon (Custom automation with prompts)

name: Daily Report
on:
  schedule:
    - cron: "0 9 * * *"
jobs:
  report:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: "Generate a summary of yesterday's commits and open issues"
          claude_args: "--model opus"

Yaygın kullanım durumları (Common use cases)

Issue veya PR yorumlarında:

Claude, bağlamı otomatik olarak analiz eder ve uygun şekilde yanıt verir.

En iyi uygulamalar (Best practices)

CLAUDE.md yapılandırması

Repository'nizin kök dizininde bir CLAUDE.md dosyası oluşturun. Bu dosyada kod stili yönergeleri, inceleme kriterleri, projeye özel kurallar ve tercih edilen kalıpları tanımlayın. Bu dosya, Claude'un proje standartlarınızı anlamasına rehberlik eder.

Güvenlik değerlendirmeleri (Security considerations)

Performans optimizasyonu (Optimizing performance)

CI maliyetleri (CI costs)

Yapılandırma örnekleri (Configuration examples)

Claude Code Action v1, birleşik parametrelerle yapılandırmayı basitleştirir:

- uses: anthropics/claude-code-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    prompt: "Your instructions here"
    # İsteğe bağlı
    claude_args: "--max-turns 5"

Temel özellikler:

Issue veya PR yorumlarına yanıt verirken Claude, @claude etiketlerine otomatik olarak yanıt verir. Diğer etkinlikler için talimat sağlamak üzere prompt parametresini kullanın.

Amazon Bedrock ve Google Vertex AI ile kullanım

Kurumsal ortamlar için Claude Code GitHub Actions'ı kendi bulut altyapınızla kullanabilirsiniz. Bu yaklaşım, aynı işlevselliği korurken veri yerleşimi ve faturalandırma üzerinde kontrol sağlar.

Ön koşullar (Prerequisites)

Google Cloud Vertex AI için:

Amazon Bedrock için:

Özel GitHub App oluşturma (Önerilen)

Vertex AI veya Bedrock gibi üçüncü taraf sağlayıcılar için en iyi kontrol ve güvenlik için kendi GitHub App'inizi oluşturmanız önerilir:

  1. https://github.com/settings/apps/new adresine gidin.
  2. Temel bilgileri doldurun (benzersiz bir isim, ana sayfa URL'si).
  3. Webhook'ları devre dışı bırakın ("Active" işaretini kaldırın).
  4. Repository izinlerini ayarlayın: Contents (Read & Write), Issues (Read & Write), Pull requests (Read & Write).
  5. "Create GitHub App" butonuna tıklayın.
  6. "Generate a private key" ile .pem dosyasını indirin ve kaydedin.
  7. App ID'nizi not edin.
  8. Uygulamayı repository'nize yükleyin.
  9. Private key'i APP_PRIVATE_KEY secret'ı olarak ekleyin.
  10. App ID'yi APP_ID secret'ı olarak ekleyin.

Gerekli Secret'lar

Claude API (Doğrudan) için:

Google Cloud Vertex AI için:

Amazon Bedrock için:

Amazon Bedrock workflow örneği

name: Claude PR Action
permissions:
  contents: write
  pull-requests: write
  issues: write
  id-token: write
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]
jobs:
  claude-pr:
    if: |
      (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
    runs-on: ubuntu-latest
    env:
      AWS_REGION: us-west-2
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Generate GitHub App token
        id: app-token
        uses: actions/create-github-app-token@v2
        with:
          app-id: ${{ secrets.APP_ID }}
          private-key: ${{ secrets.APP_PRIVATE_KEY }}
      - name: Configure AWS Credentials (OIDC)
        uses: aws-actions/configure-aws-credentials@v4
        with:
          role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
          aws-region: us-west-2
      - uses: anthropics/claude-code-action@v1
        with:
          github_token: ${{ steps.app-token.outputs.token }}
          use_bedrock: "true"
          claude_args: '--model us.anthropic.claude-sonnet-4-6 --max-turns 10'

Not: Bedrock için model ID formatı bölge ön eki içerir (örneğin, us.anthropic.claude-sonnet-4-6).

Google Vertex AI workflow örneği

name: Claude PR Action
permissions:
  contents: write
  pull-requests: write
  issues: write
  id-token: write
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]
jobs:
  claude-pr:
    if: |
      (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Generate GitHub App token
        id: app-token
        uses: actions/create-github-app-token@v2
        with:
          app-id: ${{ secrets.APP_ID }}
          private-key: ${{ secrets.APP_PRIVATE_KEY }}
      - name: Authenticate to Google Cloud
        id: auth
        uses: google-github-actions/auth@v2
        with:
          workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
          service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}
      - uses: anthropics/claude-code-action@v1
        with:
          github_token: ${{ steps.app-token.outputs.token }}
          trigger_phrase: "@claude"
          use_vertex: "true"
          claude_args: '--model claude-sonnet-4-5@20250929 --max-turns 10'
        env:
          ANTHROPIC_VERTEX_PROJECT_ID: ${{ steps.auth.outputs.project_id }}
          CLOUD_ML_REGION: us-east5
          VERTEX_REGION_CLAUDE_4_5_SONNET: us-east5

Not: Proje ID'si Google Cloud kimlik doğrulama adımından otomatik olarak alınır, bu nedenle sabit kodlamanız gerekmez.

Sorun giderme (Troubleshooting)

Claude, @claude komutlarına yanıt vermiyor

CI, Claude'un commit'lerinde çalışmıyor

Kimlik doğrulama hataları

Gelişmiş yapılandırma (Advanced configuration)

Action parametreleri (Action parameters)

Parametre Açıklama Zorunlu
prompt Claude için talimatlar (düz metin veya skill adı) Hayır*
claude_args Claude Code'a iletilen CLI argümanları Hayır
anthropic_api_key Claude API anahtarı Evet**
github_token GitHub API erişimi için token Hayır
trigger_phrase Özel tetikleyici ifade (varsayılan: "@claude") Hayır
use_bedrock Claude API yerine Amazon Bedrock kullan Hayır
use_vertex Claude API yerine Google Vertex AI kullan Hayır

*Prompt isteğe bağlıdır - issue/PR yorumları için atlandığında Claude tetikleyici ifadeye yanıt verir. **Doğrudan Claude API için zorunludur, Bedrock/Vertex için gerekli değildir.

CLI argümanları geçirme (Pass CLI arguments)

claude_args parametresi herhangi bir Claude Code CLI argümanını kabul eder:

claude_args: "--max-turns 5 --model claude-sonnet-4-6 --mcp-config /path/to/config.json"

Yaygın argümanlar:

Alternatif entegrasyon yöntemleri (Alternative integration methods)

/install-github-app komutu önerilen yaklaşım olsa da, şu alternatifler de mevcuttur:

Claude'un davranışını özelleştirme (Customizing Claude's behavior)

Claude'un davranışını iki şekilde yapılandırabilirsiniz:

  1. CLAUDE.md: Repository'nizin kök dizininde kodlama standartları, inceleme kriterleri ve projeye özel kurallar tanımlayın. Claude, PR oluştururken ve isteklere yanıt verirken bu yönergeleri izler.
  2. Özel prompt'lar: Workflow dosyasında prompt parametresini kullanarak workflow'a özel talimatlar sağlayın.

Örnek kullanım senaryosu

Bir e-ticaret uygulaması geliştiren bir ekibin günlük iş akışını düşünelim. Ekip, kod inceleme sürecini hızlandırmak ve otomatik hata düzeltmeleri yapmak için Claude Code GitHub Actions'ı kullanmak istiyor.

Adım 1: CLAUDE.md dosyası oluşturma

Repository'nin kök dizinine CLAUDE.md dosyası eklenir:

## Kodlama Standartları
- TypeScript kullan, any tipinden kaçın
- Tüm fonksiyonlar JSDoc ile belgelenmeli
- Unit testler Jest ile yazılmalı
- PR'da en az 1 onaylayıcı review gerekli

Adım 2: GitHub App kurulumu

Terminalde claude açılır ve /install-github-app komutu çalıştırılır. Komut, GitHub App'i yükler ve ANTHROPIC_API_KEY secret'ını repository'ye ekler.

Adım 3: Workflow dosyası oluşturma

.github/workflows/claude-review.yml dosyası oluşturulur:

name: Claude Code Review
on:
  pull_request:
    types: [opened, synchronize]
  issue_comment:
    types: [created]
jobs:
  claude-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: "Review this PR for code quality, correctness, and security. Analyze the diff, then post your findings as review comments."
          claude_args: "--max-turns 5 --model claude-sonnet-4-6"

Adım 4: Günlük kullanım

Bir geliştirici, "Sepet sayfasında hata var" başlıklı bir issue açar ve yorum olarak @claude fix the TypeError in the cart component yazar. Claude, repository'yi checkout eder, hatayı analiz eder, düzeltmeyi yapar ve bir PR oluşturur. PR'da yapılan değişiklikler CLAUDE.md'deki standartlara uygundur.

Ekip üyeleri PR'ı inceler, Claude'un önerisini onaylar ve birleştirir. Tüm süreç, manuel müdahale olmadan dakikalar içinde tamamlanır.