Claude Code GitHub Actions menghadirkan otomatisasi bertenaga AI ke alur kerja GitHub Anda. Dengan menyebut @claude sederhana di PR atau issue apa pun, Claude dapat menganalisis kode Anda, membuat pull request, mengimplementasikan fitur, dan memperbaiki bug - semuanya sambil mengikuti standar proyek Anda.

Claude Code GitHub Actions dibangun di atas Claude Code SDK, yang memungkinkan integrasi programatis Claude Code ke dalam aplikasi Anda. Anda dapat menggunakan SDK untuk membangun alur kerja otomatisasi kustom di luar GitHub Actions.

Mengapa menggunakan Claude Code GitHub Actions?

  • Pembuatan PR instan: Jelaskan apa yang Anda butuhkan, dan Claude membuat PR lengkap dengan semua perubahan yang diperlukan
  • Implementasi kode otomatis: Ubah issue menjadi kode yang berfungsi dengan satu perintah
  • Mengikuti standar Anda: Claude menghormati pedoman CLAUDE.md Anda dan pola kode yang ada
  • Pengaturan sederhana: Mulai dalam hitungan menit dengan installer dan API key kami
  • Aman secara default: Kode Anda tetap di runner Github

Apa yang bisa dilakukan Claude?

Claude Code menyediakan GitHub Action yang kuat yang mengubah cara Anda bekerja dengan kode:

Claude Code Action

GitHub Action ini memungkinkan Anda menjalankan Claude Code dalam alur kerja GitHub Actions Anda. Anda dapat menggunakan ini untuk membangun alur kerja kustom apa pun di atas Claude Code.

Lihat repositori →

Pengaturan

Pengaturan cepat

Cara termudah untuk mengatur action ini adalah melalui Claude Code di terminal. Cukup buka claude dan jalankan /install-github-app.

Perintah ini akan memandu Anda melalui pengaturan aplikasi GitHub dan secret yang diperlukan.

  • Anda harus menjadi admin repositori untuk menginstal aplikasi GitHub dan menambahkan secret - Metode quickstart ini hanya tersedia untuk pengguna API Anthropic langsung. Jika Anda menggunakan AWS Bedrock atau Google Vertex AI, silakan lihat bagian Menggunakan dengan AWS Bedrock & Google Vertex AI.

Pengaturan manual

Jika perintah /install-github-app gagal atau Anda lebih suka pengaturan manual, silakan ikuti instruksi pengaturan manual ini:

  1. Instal aplikasi Claude GitHub ke repositori Anda: https://github.com/apps/claude
  2. Tambahkan ANTHROPIC_API_KEY ke secret repositori Anda (Pelajari cara menggunakan secret di GitHub Actions)
  3. Salin file workflow dari examples/claude.yml ke .github/workflows/ repositori Anda

Setelah menyelesaikan pengaturan quickstart atau manual, uji action dengan menandai @claude di komentar issue atau PR!

Upgrade dari Beta

Claude Code GitHub Actions v1.0 memperkenalkan perubahan yang merusak yang memerlukan pembaruan file workflow Anda untuk upgrade ke v1.0 dari versi beta.

Jika Anda saat ini menggunakan versi beta Claude Code GitHub Actions, kami merekomendasikan Anda memperbarui workflow untuk menggunakan versi GA. Versi baru menyederhanakan konfigurasi sambil menambahkan fitur baru yang kuat seperti deteksi mode otomatis.

Perubahan penting

Semua pengguna beta harus membuat perubahan ini pada file workflow mereka untuk upgrade:

  1. Perbarui versi action: Ubah @beta menjadi @v1
  2. Hapus konfigurasi mode: Hapus mode: "tag" atau mode: "agent" (sekarang terdeteksi otomatis)
  3. Perbarui input prompt: Ganti direct_prompt dengan prompt
  4. Pindahkan opsi CLI: Konversi max_turns, model, custom_instructions, dll. ke claude_args

Referensi Perubahan yang Merusak

Input Beta LamaInput v1.0 Baru
mode(Dihapus - terdeteksi otomatis)
direct_promptprompt
override_promptprompt dengan variabel GitHub
custom_instructionsclaude_args: --system-prompt
max_turnsclaude_args: --max-turns
modelclaude_args: --model
allowed_toolsclaude_args: --allowedTools
disallowed_toolsclaude_args: --disallowedTools
claude_envsettings format JSON

Contoh Sebelum dan Sesudah

Versi beta:

- 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-3-5-sonnet-20241022"

Versi GA (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: |
      --system-prompt "Follow our coding standards"
      --max-turns 10
      --model claude-sonnet-4-20250514

Action sekarang secara otomatis mendeteksi apakah akan berjalan dalam mode interaktif (merespons penyebutan @claude) atau mode otomatisasi (berjalan segera dengan prompt) berdasarkan konfigurasi Anda.

Contoh kasus penggunaan

Claude Code GitHub Actions dapat membantu Anda dengan berbagai tugas. Direktori examples berisi workflow siap pakai untuk skenario yang berbeda.

Workflow dasar

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 }}
          # Merespons penyebutan @claude di komentar

Menggunakan perintah slash

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"
          claude_args: "--max-turns 5"

Otomatisasi kustom dengan prompt

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 claude-opus-4-1-20250805"

Kasus penggunaan umum

Di komentar issue atau PR:

@claude implement this feature based on the issue description
@claude how should I implement user authentication for this endpoint?
@claude fix the TypeError in the user dashboard component

Claude akan secara otomatis menganalisis konteks dan merespons dengan tepat.

Praktik terbaik

Konfigurasi CLAUDE.md

Buat file CLAUDE.md di root repositori Anda untuk mendefinisikan pedoman gaya kode, kriteria review, aturan khusus proyek, dan pola yang disukai. File ini memandu pemahaman Claude tentang standar proyek Anda.

Pertimbangan keamanan

Jangan pernah commit API key langsung ke repositori Anda!

Selalu gunakan GitHub Secrets untuk API key:

  • Tambahkan API key Anda sebagai secret repositori bernama ANTHROPIC_API_KEY
  • Referensikan di workflow: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
  • Batasi izin action hanya pada yang diperlukan
  • Tinjau saran Claude sebelum merge

Selalu gunakan GitHub Secrets (misalnya, ${{ secrets.ANTHROPIC_API_KEY }}) daripada hardcode API key langsung di file workflow Anda.

Mengoptimalkan performa

Gunakan template issue untuk memberikan konteks, jaga CLAUDE.md Anda tetap ringkas dan fokus, dan konfigurasikan timeout yang sesuai untuk workflow Anda.

Biaya CI

Saat menggunakan Claude Code GitHub Actions, waspadai biaya terkait:

Biaya GitHub Actions:

  • Claude Code berjalan di runner yang dihosting GitHub, yang mengonsumsi menit GitHub Actions Anda
  • Lihat dokumentasi penagihan GitHub untuk harga detail dan batas menit

Biaya API:

  • Setiap interaksi Claude mengonsumsi token API berdasarkan panjang prompt dan respons
  • Penggunaan token bervariasi berdasarkan kompleksitas tugas dan ukuran codebase
  • Lihat halaman harga Claude untuk tarif token saat ini

Tips optimasi biaya:

  • Gunakan perintah @claude spesifik untuk mengurangi panggilan API yang tidak perlu
  • Konfigurasikan --max-turns yang sesuai di claude_args untuk mencegah iterasi berlebihan
  • Atur timeout tingkat workflow untuk menghindari job yang tidak terkendali
  • Pertimbangkan menggunakan kontrol concurrency GitHub untuk membatasi run paralel

Contoh konfigurasi

Claude Code Action v1 menyederhanakan konfigurasi dengan parameter terpadu:

- uses: anthropics/claude-code-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    prompt: "Your instructions here" # Opsional
    claude_args: "--max-turns 5" # Argumen CLI opsional

Fitur utama:

  • Antarmuka prompt terpadu - Gunakan prompt untuk semua instruksi
  • Perintah slash - Prompt yang sudah dibuat seperti /review atau /fix
  • Passthrough CLI - Argumen Claude Code CLI apa pun melalui claude_args
  • Trigger fleksibel - Bekerja dengan event GitHub apa pun

Kunjungi direktori examples untuk file workflow lengkap.

Saat merespons komentar issue atau PR, Claude secara otomatis merespons penyebutan @claude. Untuk event lain, gunakan parameter prompt untuk memberikan instruksi.

Menggunakan dengan AWS Bedrock & Google Vertex AI

Untuk lingkungan enterprise, Anda dapat menggunakan Claude Code GitHub Actions dengan infrastruktur cloud Anda sendiri. Pendekatan ini memberi Anda kontrol atas residensi data dan penagihan sambil mempertahankan fungsionalitas yang sama.

Prasyarat

Sebelum mengatur Claude Code GitHub Actions dengan penyedia cloud, Anda memerlukan:

Untuk Google Cloud Vertex AI:

  1. Proyek Google Cloud dengan Vertex AI diaktifkan
  2. Workload Identity Federation dikonfigurasi untuk GitHub Actions
  3. Service account dengan izin yang diperlukan
  4. GitHub App (direkomendasikan) atau gunakan GITHUB_TOKEN default

Untuk AWS Bedrock:

  1. Akun AWS dengan Amazon Bedrock diaktifkan
  2. GitHub OIDC Identity Provider dikonfigurasi di AWS
  3. Peran IAM dengan izin Bedrock
  4. GitHub App (direkomendasikan) atau gunakan GITHUB_TOKEN default
1

Buat GitHub App kustom (Direkomendasikan untuk Penyedia 3P)

Untuk kontrol dan keamanan terbaik saat menggunakan penyedia 3P seperti Vertex AI atau Bedrock, kami merekomendasikan membuat GitHub App Anda sendiri:

  1. Pergi ke https://github.com/settings/apps/new
  2. Isi informasi dasar:
    • Nama GitHub App: Pilih nama unik (misalnya, “YourOrg Claude Assistant”)
    • URL Homepage: Website organisasi Anda atau URL repositori
  3. Konfigurasikan pengaturan app:
    • Webhooks: Hapus centang “Active” (tidak diperlukan untuk integrasi ini)
  4. Atur izin yang diperlukan:
    • Izin repositori:
      • Contents: Read & Write
      • Issues: Read & Write
      • Pull requests: Read & Write
  5. Klik “Create GitHub App”
  6. Setelah dibuat, klik “Generate a private key” dan simpan file .pem yang diunduh
  7. Catat App ID Anda dari halaman pengaturan app
  8. Instal app ke repositori Anda:
    • Dari halaman pengaturan app Anda, klik “Install App” di sidebar kiri
    • Pilih akun atau organisasi Anda
    • Pilih “Only select repositories” dan pilih repositori spesifik
    • Klik “Install”
  9. Tambahkan private key sebagai secret ke repositori Anda:
    • Pergi ke Settings repositori Anda → Secrets and variables → Actions
    • Buat secret baru bernama APP_PRIVATE_KEY dengan konten file .pem
  10. Tambahkan App ID sebagai secret:
  • Buat secret baru bernama APP_ID dengan ID GitHub App Anda

App ini akan digunakan dengan action actions/create-github-app-token untuk menghasilkan token autentikasi di workflow Anda.

Alternatif untuk Anthropic API atau jika Anda tidak ingin mengatur Github app sendiri: Gunakan app Anthropic resmi:

  1. Instal dari: https://github.com/apps/claude
  2. Tidak perlu konfigurasi tambahan untuk autentikasi
2

Konfigurasikan autentikasi penyedia cloud

Pilih penyedia cloud Anda dan atur autentikasi yang aman:

3

Tambahkan Secret yang Diperlukan

Tambahkan secret berikut ke repositori Anda (Settings → Secrets and variables → Actions):

Untuk Anthropic API (Langsung):

  1. Untuk Autentikasi API:

  2. Untuk GitHub App (jika menggunakan app sendiri):

    • APP_ID: ID GitHub App Anda
    • APP_PRIVATE_KEY: Konten private key (.pem)

Untuk Google Cloud Vertex AI

  1. Untuk Autentikasi GCP:

    • GCP_WORKLOAD_IDENTITY_PROVIDER
    • GCP_SERVICE_ACCOUNT
  2. Untuk GitHub App (jika menggunakan app sendiri):

    • APP_ID: ID GitHub App Anda
    • APP_PRIVATE_KEY: Konten private key (.pem)

Untuk AWS Bedrock

  1. Untuk Autentikasi AWS:

    • AWS_ROLE_TO_ASSUME
  2. Untuk GitHub App (jika menggunakan app sendiri):

    • APP_ID: ID GitHub App Anda
    • APP_PRIVATE_KEY: Konten private key (.pem)
4

Buat file workflow

Buat file workflow GitHub Actions yang terintegrasi dengan penyedia cloud Anda. Contoh di bawah ini menunjukkan konfigurasi lengkap untuk AWS Bedrock dan Google Vertex AI:

Pemecahan masalah

Claude tidak merespons perintah @claude

Verifikasi GitHub App terinstal dengan benar, periksa bahwa workflow diaktifkan, pastikan API key diatur di secret repositori, dan konfirmasi komentar berisi @claude (bukan /claude).

CI tidak berjalan pada commit Claude

Pastikan Anda menggunakan GitHub App atau app kustom (bukan pengguna Actions), periksa trigger workflow mencakup event yang diperlukan, dan verifikasi izin app mencakup trigger CI.

Error autentikasi

Konfirmasi API key valid dan memiliki izin yang cukup. Untuk Bedrock/Vertex, periksa konfigurasi kredensial dan pastikan secret diberi nama dengan benar di workflow.

Konfigurasi lanjutan

Parameter action

Claude Code Action v1 menggunakan konfigurasi yang disederhanakan:

ParameterDeskripsiDiperlukan
promptInstruksi untuk Claude (teks atau perintah slash)Tidak*
claude_argsArgumen CLI yang diteruskan ke Claude CodeTidak
anthropic_api_keyKunci API AnthropicYa**
github_tokenToken GitHub untuk akses APITidak
trigger_phraseFrasa trigger kustom (default: “@claude”)Tidak
use_bedrockGunakan AWS Bedrock alih-alih Anthropic APITidak
use_vertexGunakan Google Vertex AI alih-alih Anthropic APITidak

*Prompt opsional - ketika dihilangkan untuk komentar issue/PR, Claude merespons frasa trigger
**Diperlukan untuk API Anthropic langsung, tidak untuk Bedrock/Vertex

Menggunakan claude_args

Parameter claude_args menerima argumen Claude Code CLI apa pun:

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

Argumen umum:

  • --max-turns: Maksimum giliran percakapan (default: 10)
  • --model: Model yang digunakan (misalnya, claude-sonnet-4-20250514)
  • --mcp-config: Path ke konfigurasi MCP
  • --allowed-tools: Daftar tool yang diizinkan dipisahkan koma
  • --debug: Aktifkan output debug

Metode integrasi alternatif

Meskipun perintah /install-github-app adalah pendekatan yang direkomendasikan, Anda juga dapat:

  • GitHub App Kustom: Untuk organisasi yang membutuhkan username bermerek atau alur autentikasi kustom. Buat GitHub App Anda sendiri dengan izin yang diperlukan (contents, issues, pull requests) dan gunakan action actions/create-github-app-token untuk menghasilkan token di workflow Anda.
  • GitHub Actions Manual: Konfigurasi workflow langsung untuk fleksibilitas maksimum
  • Konfigurasi MCP: Pemuatan dinamis server Model Context Protocol

Lihat repositori Claude Code Action untuk dokumentasi detail.

Menyesuaikan perilaku Claude

Anda dapat mengonfigurasi perilaku Claude dengan dua cara:

  1. CLAUDE.md: Definisikan standar coding, kriteria review, dan aturan khusus proyek dalam file CLAUDE.md di root repositori Anda. Claude akan mengikuti pedoman ini saat membuat PR dan merespons permintaan. Lihat dokumentasi Memory kami untuk detail lebih lanjut.
  2. Prompt kustom: Gunakan parameter prompt di file workflow untuk memberikan instruksi khusus workflow. Ini memungkinkan Anda menyesuaikan perilaku Claude untuk workflow atau tugas yang berbeda.

Claude akan mengikuti pedoman ini saat membuat PR dan merespons permintaan.