@claude dalam komentar pull request atau issue untuk membuat Claude menganalisis kode, mengimplementasikan perubahan, dan push commit. Anda juga dapat memberikan Claude Code GitHub Action sebuah prompt untuk dijalankan secara otomatis pada event GitHub apa pun. Gunakan untuk mengubah issue menjadi pull request, memperbaiki bug dari komentar, atau mengotomatisasi tugas berulang.
Beberapa produk berbagi nama Claude Code. Halaman ini mencakup integrasi alur kerja claude-code-action, yang Anda konfigurasi dengan file alur kerja di repositori Anda. Untuk produk terkait, lihat:
- Code Review: ulasan otomatis pada setiap pull request, tanpa menulis alur kerja
- Claude Code di cloud: sesi Claude Code yang berjalan pada infrastruktur cloud alih-alih mesin Anda
- Claude Agent SDK: otomasi kustom di luar GitHub Actions. Claude Code GitHub Action dibangun di atas SDK
- GitHub Enterprise Server: Claude Code dengan GitHub yang di-host sendiri
Penyiapan
Anda dapat menyiapkan Claude Code GitHub Action dengan salah satu dari dua cara:- Penyiapan cepat: jalankan
/install-github-appdari Claude Code. Claude Code menginstal GitHub App, menambahkan rahasia autentikasi Anda, dan menyiapkan pull request alur kerja untuk Anda - Penyiapan manual: instal aplikasi, tambahkan rahasia, dan salin file alur kerja ke repositori Anda sendiri. Gunakan jalur ini ketika Anda tidak menjalankan Claude Code secara lokal, ketika perintah gagal, atau ketika Anda menginginkan kontrol penuh atas file alur kerja
Penyiapan cepat
/install-github-app hanya bekerja dengan repositori github.com. Jika git remote repositori Anda berada di gitlab.com atau bitbucket.org, perintah mencetak pemberitahuan dan keluar alih-alih memulai penyiapan. Untuk menjalankan Claude Code dari pipeline GitLab, lihat Claude Code GitLab CI/CD.
Sebelum Anda mulai, instal GitHub CLI dan autentikasi dengan gh auth login. Claude Code memeriksa dan memperingatkan Anda jika tidak ada.
Buka claude di repositori yang ingin Anda hubungkan, jalankan /install-github-app, dan ikuti prompt. Claude Code menginstal Claude GitHub App, kemudian menyiapkan rahasia autentikasi untuk alur kerja:
- Jika Claude Code sudah memiliki kunci API, Claude Code menggunakan kembali kunci tersebut, dan menawarkan untuk menyimpan rahasia
ANTHROPIC_API_KEYyang ada di repositori jika sudah diatur - Jika tidak, pilih antara membuat token jangka panjang dengan langganan Claude Anda dan menempel kunci API
ANTHROPIC_API_KEY untuk kunci API atau CLAUDE_CODE_OAUTH_TOKEN untuk token langganan.
Claude Code kemudian push branch dengan file alur kerja yang Anda pilih, sudah diatur untuk menggunakan rahasia tersebut, dan membuka GitHub di browser Anda dengan pull request siap dibuat. Buat dan merge pull request tersebut, dan @claude bekerja di repositori.
Jika Anda memilih alur kerja ulasan, Claude memposting setiap ulasan di pull request itu sendiri, sebagai komentar inline pada setiap issue yang ditemukannya atau sebagai satu komentar ringkasan ketika tidak menemukan apa pun. Claude melewati beberapa pull request, seperti draft. Contoh alur kerja ulasan menggunakan skill yang sama dan mencantumkannya. Sebelum v2.1.229, Claude menulis ulasannya hanya ke log run alur kerja.
Untuk memperbarui alur kerja ulasan yang dihasilkan versi sebelumnya, lakukan salah satu dari berikut:
- Jalankan
/install-github-applagi. Ketika repositori sudah memilikiclaude.yml, pilih Update workflow file with latest version. Claude Code push salinan segar file alur kerja ke branch baru dan membuka pull request, sama seperti instalasi pertama. - Tambahkan argumen
--commentdan barisclaude_argsdari contoh alur kerja ulasan ke file yang di-check-in sendiri, yang menjaga edit lain yang Anda buat padanya.
/install-github-app lagi nanti untuk menyelesaikan langkah alur kerja dan rahasia.
- Ketika Anda menginstal GitHub App, Anda memberikan beberapa izin. Lihat izin GitHub App untuk set lengkapnya
- Penyiapan cepat bekerja dengan Claude API dan langganan Claude. Jika Anda menggunakan Amazon Bedrock, Google Cloud’s Agent Platform, atau Microsoft Foundry, lihat Gunakan Claude Code GitHub Actions dengan penyedia cloud
Penyiapan manual
Untuk mengonfigurasi Claude Code GitHub Action tanpa menjalankan/install-github-app, instal aplikasi, tambahkan rahasia, dan salin file alur kerja sendiri:
1
Instal Claude GitHub App
Instal Claude GitHub App ke repositori Anda. Claude Code GitHub Action mengandalkan tiga izin aplikasi:
- Contents: baca dan tulis, sehingga Claude dapat memodifikasi file repositori
- Issues: baca dan tulis, sehingga Claude dapat merespons issue
- Pull requests: baca dan tulis, sehingga Claude dapat membuat PR dan push perubahan
2
Tambahkan rahasia autentikasi
Tambahkan salah satu rahasia berikut ke repositori Anda, tergantung pada cara Anda mengautentikasi. Lihat panduan GitHub untuk menggunakan rahasia di GitHub Actions.
ANTHROPIC_API_KEY: kunci Claude API dari Claude ConsoleCLAUDE_CODE_OAUTH_TOKEN: token OAuth yang mengautentikasi dengan langganan Claude Anda, tersedia di paket Pro, Max, Team, dan Enterprise. Hasilkan satu dengan menjalankanclaude setup-tokensecara lokal. Lihat Hasilkan token jangka panjang
anthropic_api_key untuk kunci API, atau claude_code_oauth_token untuk token OAuth.3
Salin file alur kerja
Salin examples/claude.yml ke direktori
.github/workflows/ repositori Anda. File ini adalah alur kerja yang berfungsi, bukan hanya contoh. Seperti yang di-commit, Claude merespons setiap kali seseorang menyebutkan @claude dalam issue atau pull request, mengautentikasi dengan rahasia ANTHROPIC_API_KEY. Jika Anda menambahkan CLAUDE_CODE_OAUTH_TOKEN sebagai gantinya, ubah baris anthropic_api_key alur kerja menjadi claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.Penyiapan untuk organisasi
Dengan penyiapan cepat atau manual, Anda mengonfigurasi satu repositori sekaligus. Untuk meluncurkan Claude Code GitHub Action di seluruh organisasi:- Instal Claude GitHub App sekali di tingkat organisasi, memilih semua repositori atau daftar yang dipilih
- Simpan rahasia autentikasi sebagai rahasia Actions tingkat organisasi sehingga setiap repositori tidak perlu salinannya sendiri
- Tambahkan file alur kerja ke setiap repositori yang harus menjalankan Claude Code GitHub Action, atau tentukan pekerjaan sekali sebagai alur kerja yang dapat digunakan kembali yang setiap repositori panggil
claude setup-token.
Untuk menghindari menyimpan rahasia jangka panjang sama sekali, autentikasi melalui federasi identitas beban kerja, di mana Claude Code GitHub Action menukar token OpenID Connect (OIDC) GitHub alur kerja untuk akses Claude API melalui akun layanan Claude Console. Atur input ini:
anthropic_federation_rule_id: ID aturan federasi,fdrl_...anthropic_organization_id: ID organisasi Anthropic Andaanthropic_service_account_id: ID akun layanan,svac_.... Opsional, karena aturan federasi yang Anda buat di Console sudah menargetkan akun layanananthropic_workspace_id: ID workspace,wrkspc_.... Opsional ketika aturan federasi menargetkan workspace tunggal
id-token: write, yang Claude Code GitHub Action butuhkan untuk pertukaran federasi bahkan ketika Anda meneruskan github_token Anda sendiri. Lihat panduan penyiapan Claude Code GitHub Action untuk konfigurasi sisi Console.
Untuk pertanyaan penanganan dan retensi data dalam tinjauan keamanan, lihat penggunaan data dan keamanan.
Uninstal
Untuk menghapus Claude Code GitHub Action, batalkan setiap bagian penyiapan yang berlaku untuk instalasi Anda:- File alur kerja: hapus alur kerja yang menggunakan
anthropics/claude-code-actiondari.github/workflows/. Jika Anda menggunakan penyiapan cepat, cariclaude.ymldan, jika Anda memilih alur kerja ulasan,claude-code-review.yml. Dengan alur kerja dihapus, Claude Code GitHub Action tidak lagi berjalan - Rahasia: hapus rahasia
ANTHROPIC_API_KEYatauCLAUDE_CODE_OAUTH_TOKENdari repositori, dan dari rahasia Actions tingkat organisasi jika Anda membagikannya di seluruh repositori. Jika Anda menghapus rahasia, kredensial yang disimpannya tetap valid. Untuk pensiun kunci API sepenuhnya, juga hapus kunci di Claude Console - GitHub App: uninstal Claude GitHub App di pengaturan repositori atau organisasi Anda di bawah GitHub Apps, tetapi hanya jika Anda tidak menggunakannya untuk fitur Claude lain, seperti Code Review atau web auto-fix
AWS_ROLE_TO_ASSUME, rahasia GCP_*, atau rahasia AZURE_*, dan uninstal GitHub App kustom bersama dengan rahasia APP_ID dan APP_PRIVATE_KEY miliknya.
Izin GitHub App
Claude GitHub App dibagikan oleh setiap fitur Claude yang terintegrasi dengan GitHub, termasuk Claude Code GitHub Action, Code Review, dan auto-fix untuk pull request di sesi cloud. GitHub App memiliki set izin tunggal yang mencakup semua fiturnya, jadi set mencakup beberapa izin yang Claude Code GitHub Action tidak gunakan. Ketika Anda menginstal aplikasi, Anda memberikan izin berikut:
Set izin juga dapat berubah sebelum fitur yang menggunakannya. Ketika aplikasi meminta izin yang sebelumnya tidak dimilikinya, GitHub meminta pemilik akun untuk menyetujuinya, pemilik organisasi untuk instalasi organisasi, dan instalasi menyimpan izin lamanya sampai mereka melakukannya. Misalnya, ketika akses Actions berubah dari baca menjadi tulis, aplikasi dapat menjalankan kembali alur kerja daripada hanya melihat run dan log, jadi GitHub meminta pemilik untuk menyetujui perubahan.
Ketika Anda menginstal aplikasi, Anda menerima set izin penuhnya. GitHub tidak membiarkan Anda menerima subset. Jika organisasi Anda hanya memerlukan izin yang Claude Code GitHub Action gunakan, buat GitHub App kustom dengan Contents, Issues, dan Pull requests sebagai gantinya, mengikuti panduan penyiapan Claude Code GitHub Action. Aplikasi kustom hanya mencakup Claude Code GitHub Action. Code Review dan web auto-fix masih memerlukan aplikasi resmi.
Untuk detail tentang bagaimana Claude Code GitHub Action membatasi apa yang Claude dapat lakukan dengan izin ini, lihat dokumentasi keamanan.
Mode interaktif dan otomasi
Claude Code GitHub Action mendeteksi cara menjalankan dari konfigurasi alur kerja Anda:- Mode interaktif: ketika alur kerja tidak menyediakan input
prompt, Claude menunggu frasa pemicu,@claudesecara default, dalam komentar issue atau pull request, dalam ulasan pull request, atau dalam badan atau judul issue yang baru dibuka, kemudian merespons permintaan tersebut. Kemajuan dan hasil muncul sebagai komentar pada issue atau PR yang memicu. - Mode otomasi: ketika alur kerja menyediakan input
prompt, Claude berjalan tanpa menunggu penyebutan, tunduk hanya pada pemeriksaan siapa yang dapat memicu run. Secara default, hasil muncul dalam log run alur kerja daripada komentar. Claude dapat memposting ke issue atau pull request ketika prompt mengarahkannya dan memiliki alat yang dapat memposting, seperti dalam contoh code-review.
Siapa yang dapat memicu run
Di kedua mode, Claude Code GitHub Action menjalankan dua pemeriksaan pada aktor pemicu sebelum Claude dimulai, dan run gagal ketika salah satu pemeriksaan menolaknya:- Akses tulis: pada event issue dan pull request, pengguna pemicu harus memiliki akses tulis ke repositori. Untuk memungkinkan pengguna tertentu tanpa akses tulis, atur
allowed_non_write_usersdan teruskan inputgithub_tokenAnda sendiri. Event yang tidak ada pengguna yang mengarang, seperti pemicuschedule, lewati pemeriksaan ini. - Aktor manusia: pada setiap event, Claude Code GitHub Action menolak aktor bot kecuali Anda mencantumkannya di
allowed_bots, yang menjaga bot agar tidak memicu Claude dalam loop. Pemeriksaan ini juga berlaku untuk run terjadwal, yang GitHub atribusikan ke pengguna repositori, biasanya yang terakhir mengubah jadwalcronalur kerja. Jika pengguna itu adalah bot, cantumkan diallowed_bots.
Contoh kasus penggunaan
Direktori examples berisi alur kerja siap pakai untuk skenario berbeda. Contoh di halaman ini menunjukkan autentikasi kunci API. Jika Anda mengautentikasi dengan langganan Claude, ganti barisanthropic_api_key dalam contoh apa pun dengan claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.
Merespons penyebutan @claude
Alur kerja ini menjalankan Claude Code GitHub Action dalam mode interaktif, sehingga Claude merespons setiap kali seseorang menyebutkan@claude dalam komentar issue atau PR.
id-token: write: diperlukan untuk autentikasi GitHub App default Claude Code GitHub Actionactions: read: memungkinkan Claude membaca hasil CI pada PRactions/checkout: memberikan Claude salinan lokal repositori untuk dikerjakanif: menjaga runner agar tidak dimulai pada komentar yang tidak menyebutkan@claude. Claude Code GitHub Action juga memeriksa frasa pemicu itu sendiri sebelum merespons
@claude dalam komentar issue atau PR apa pun dengan permintaan:
Jalankan skill
Inputprompt menerima invokasi skill serta teks biasa:
- Untuk skill di direktori
.claude/skills/repositori Anda, jalankanactions/checkoutsebelum langkahanthropics/claude-code-actionsehingga file skill tersedia di runner, kemudian teruskan/skill-namesebagaiprompt. - Untuk skill yang dikemas dalam plugin, instal plugin dengan input
plugin_marketplacesdanplugins, kemudian teruskan/plugin-name:skill-namedengan namespace sebagaiprompt. Inputpluginsmengambilplugin-name@marketplace-name, di mana nama marketplace berasal dari manifest marketplace itu sendiri daripada URL repositorinya.
code-review dan menjalankan skillnya ketika pull request dibuka, diperbarui, dibuka kembali, atau ditandai siap untuk ulasan. Ini menjalankan plugin yang sama dengan alur kerja ulasan dari penyiapan cepat. Gunakan alur kerja seperti ini ketika Anda ingin mengontrol prompt, model, dan pemicu sendiri. Untuk ulasan otomatis tanpa memelihara file alur kerja, lihat Code Review. Di repositori publik, GitHub menahan rahasia dari run yang dipicu oleh pull request fork, jadi ulasan hanya berjalan pada pull request dari branch di repositori yang sama.
--comment: Claude memposting ulasannya di pull request, sebagai komentar inline pada setiap issue yang ditemukannya atau sebagai satu komentar ringkasan ketika tidak menemukan apa pun. Tanpanya, Claude tidak memposting apa pun, dan Anda membaca temuan dalam log run alur kerja.claude_args: simpan baris ini meskipun frontmatterallowed-toolsskill itu sendiri menamai alat yang sama, karena Claude Code GitHub Action memulai server MCP yang memposting komentar inline hanya ketika--allowedToolsdiclaude_argsmenamakannya.
Jalankan pada jadwal
Dengan inputprompt, Claude Code GitHub Action berjalan dalam mode otomasi pada event GitHub apa pun, termasuk jadwal cron. Untuk prompt teks biasa, Claude tidak memiliki akses shell atau GitHub API sampai Anda memberikan alat yang prompt butuhkan, dengan --allowedTools di claude_args atau aturan permissions.allow di input settings. Jika Anda menjalankan skill sebagai gantinya, Claude dapat menggunakan alat yang frontmatter allowed-tools miliknya berikan. GitHub menjalankan alur kerja terjadwal hanya dari branch default dan, di repositori publik, menonaktifkan jadwal setelah 60 hari tanpa aktivitas repositori.
Alur kerja ini menghasilkan laporan dalam log run alur kerja pada 09:00 UTC setiap hari. Baris claude_args miliknya meneruskan argumen CLI yang memilih model dan memungkinkan dua alat GitHub MCP. Claude membaca commit dan issue melalui GitHub API dengan alat tersebut, jadi Anda dapat menghilangkan langkah checkout:
Praktik terbaik
Tentukan standar proyek di CLAUDE.md
Buat fileCLAUDE.md di root repositori Anda untuk mendefinisikan panduan gaya kode, kriteria ulasan, aturan khusus proyek, dan pola yang disukai. Claude mengikuti panduan ini saat membuat PR dan merespons permintaan. Lihat dokumentasi memory untuk detail.
Lindungi kredensial Anda
Berikan alur kerja hanya izin yang dibutuhkannya, dan tinjau perubahan Claude sebelum merge. Untuk panduan keamanan komprehensif termasuk izin dan autentikasi, lihat dokumentasi keamanan Claude Code Action.Kelola biaya
Setiap run mengonsumsi dua jenis sumber daya:- Menit GitHub Actions: Claude Code GitHub Action berjalan di runner yang dihosting GitHub, yang mengonsumsi menit GitHub Actions Anda. Lihat dokumentasi penagihan GitHub untuk harga dan batas menit.
- Token API: setiap interaksi mengonsumsi token berdasarkan panjang prompt dan respons, kompleksitas tugas, dan ukuran codebase. Lihat halaman harga Claude untuk tarif token saat ini. Jika Anda mengautentikasi dengan token OAuth, run menggunakan langganan Claude Anda daripada penagihan API.
- Tulis permintaan
@claudespesifik sehingga Claude memerlukan lebih sedikit turn untuk menyelesaikan - Gunakan template issue untuk memberikan konteks di muka
- Jaga
CLAUDE.mdAnda ringkas, karena Claude membacanya pada setiap run - Atur
--max-turnsdiclaude_argsuntuk membatasi iterasi - Atur timeout tingkat alur kerja untuk menghindari pekerjaan yang tidak terkontrol
- Gunakan kontrol concurrency GitHub untuk membatasi run paralel
Gunakan penyedia cloud
Secara default, Claude Code GitHub Action memanggil Claude API secara langsung dengan kunci API atau token OAuth Anda. Untuk merutekan inferensi melalui akun cloud Anda sendiri, atur input untuk penyedia Anda dan ikuti Gunakan Claude Code GitHub Actions dengan penyedia cloud:- Amazon Bedrock:
use_bedrock: "true" - Google Cloud’s Agent Platform:
use_vertex: "true" - Microsoft Foundry:
use_foundry: "true"
Troubleshooting
Claude tidak merespons perintah @claude
- Verifikasi GitHub App diinstal di repositori
- Periksa bahwa alur kerja diaktifkan untuk repositori
- Pastikan kunci API atau token OAuth diatur dalam rahasia repositori
- Konfirmkan komentar berisi
@claudesebagai kata lengkap, bukan/claudeatau@claude-bot - Konfirmkan pengguna yang berkomentar memiliki akses tulis ke repositori. Lihat Siapa yang dapat memicu run untuk pengecualian
CI tidak berjalan pada commit Claude
- GitHub tidak memicu alur kerja pada commit yang dibuat dengan
GITHUB_TOKENdefault. Jika Anda meneruskangithub_token: ${{ secrets.GITHUB_TOKEN }}ke Claude Code GitHub Action, hapus sehingga mengautentikasi sebagai Claude GitHub App, atau teruskan token aplikasi kustom sebagai gantinya - Periksa bahwa pemicu alur kerja CI Anda mencakup event yang push Claude hasilkan, seperti
pushataupull_request
Kesalahan autentikasi
- Konfirmkan kunci API atau token OAuth valid dengan mengujinya secara lokal dengan
claudesebelum men-debug alur kerja - Untuk Bedrock, Agent Platform, dan Foundry, lihat bagian troubleshooting halaman penyedia cloud
Konfigurasi lanjutan
Parameter action
Ini adalah input yang paling umum digunakan. Masing-masing memetakan ke kunciwith: dalam langkah anthropics/claude-code-action.
Untuk daftar input lengkap, lihat referensi konfigurasi Claude Code GitHub Action.
Teruskan argumen CLI
Parameterclaude_args menerima argumen Claude Code CLI apa pun:
--max-turns: batasi jumlah conversation turn--model: model yang digunakan, misalnyaclaude-sonnet-5. Tanpa argumen ini, Claude Code GitHub Action menggunakan model default Claude Code--mcp-config: path ke konfigurasi MCP--allowedTools: daftar alat yang diizinkan yang dipisahkan koma. Alias--allowed-toolsjuga berfungsi--debug: aktifkan output debug
Upgrade dari beta
Jika alur kerja Anda masih mereferensikananthropics/claude-code-action@beta, perbarui ke v1:
- Ubah
@betamenjadi@v1dalam barisuses - Hapus input
mode, karena Claude Code GitHub Action sekarang mendeteksi mode secara otomatis - Ganti
direct_promptdenganprompt - Pindahkan opsi CLI seperti
max_turnsdanmodelkeclaude_args.custom_instructionstidak memiliki flag dengan nama yang sama dan menjadi--append-system-prompt
Apa selanjutnya
- Gunakan Claude Code GitHub Actions dengan penyedia cloud: rutekan inferensi melalui Amazon Bedrock, Google Cloud’s Agent Platform, atau Microsoft Foundry
- Referensi konfigurasi: daftar lengkap input action
- Direktori examples: alur kerja siap pakai untuk skenario lebih lanjut
- Code Review: ulasan pull request otomatis tanpa memelihara file alur kerja