4 4
5# Claude Code GitHub Actions5# Claude Code GitHub Actions
6 6
7> Pelajari tentang integrasi Claude Code ke dalam alur kerja pengembangan Anda dengan Claude Code GitHub Actions7> Jalankan Claude Code dalam alur kerja GitHub Actions untuk merespons penyebutan @claude, mengotomatisasi tugas, dan mengubah issue menjadi pull request
8 8
9Claude Code GitHub Actions membawa otomasi bertenaga AI ke alur kerja GitHub Anda. Dengan penyebutan `@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. Untuk ulasan otomatis yang diposting di setiap PR tanpa pemicu, lihat [GitHub Code Review](/id/code-review).9[Claude Code GitHub Actions](https://github.com/anthropics/claude-code-action) adalah GitHub Action yang menjalankan Claude Code di dalam alur kerja repositori Anda. Sebutkan `@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.
10 10
11<Note>11Beberapa 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:
12 Claude Code GitHub Actions dibangun di atas [Claude Agent SDK](/id/agent-sdk/overview), yang memungkinkan integrasi programatik Claude Code ke dalam aplikasi Anda. Anda dapat menggunakan SDK untuk membangun alur kerja otomasi kustom di luar GitHub Actions.
13</Note>
14 12
15<h2 id="why-use-claude-code-github-actions">13* [Code Review](/docs/id/code-review): ulasan otomatis pada setiap pull request, tanpa menulis alur kerja
16 Mengapa menggunakan Claude Code GitHub Actions?14* [Claude Code di web](/docs/id/claude-code-on-the-web): sesi Claude Code dari browser atau ponsel Anda
15* [Claude Agent SDK](/docs/id/agent-sdk/overview): otomasi kustom di luar GitHub Actions. Claude Code GitHub Action dibangun di atas SDK
16* [GitHub Enterprise Server](/docs/id/github-enterprise-server): Claude Code dengan GitHub yang di-host sendiri
17
18<h2 id="setup">
19 Penyiapan
17</h2>20</h2>
18 21
19* **Pembuatan PR instan**: Jelaskan apa yang Anda butuhkan, dan Claude membuat PR lengkap dengan semua perubahan yang diperlukan22Anda dapat menyiapkan Claude Code GitHub Action dengan salah satu dari dua cara:
20* **Implementasi kode otomatis**: Ubah issue menjadi kode yang berfungsi dengan satu perintah
21* **Mengikuti standar Anda**: Claude menghormati panduan `CLAUDE.md` Anda dan pola kode yang ada
22* **Penyiapan sederhana**: Mulai dalam hitungan menit dengan installer dan kunci API kami
23* **Aman secara default**: Kode Anda tetap berada di runner Github
24 23
25<h2 id="what-can-claude-do">24* **Penyiapan cepat**: jalankan `/install-github-app` dari Claude Code. Claude Code menginstal GitHub App, menambahkan rahasia autentikasi Anda, dan menyiapkan pull request alur kerja untuk Anda
26 Apa yang dapat dilakukan Claude?25* **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
27</h2>
28 26
29Claude Code menyediakan GitHub Action yang kuat yang mengubah cara Anda bekerja dengan kode:27Untuk jalur apa pun, Anda memerlukan akses admin ke repositori.
30 28
31<h3 id="claude-code-action">29<h3 id="quick-setup">
32 Claude Code Action30 Penyiapan cepat
33</h3>31</h3>
34 32
35GitHub Action ini memungkinkan Anda menjalankan Claude Code dalam alur kerja GitHub Actions Anda. Anda dapat menggunakannya untuk membangun alur kerja kustom apa pun di atas Claude Code.33Sebelum Anda mulai, instal [GitHub CLI](https://cli.github.com) dan autentikasi dengan `gh auth login`. Claude Code memeriksa dan memperingatkan Anda jika tidak ada.
36 34
37[Lihat repositori →](https://github.com/anthropics/claude-code-action)35Buka `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:
38 36
39<h2 id="setup">37* Jika Claude Code sudah memiliki kunci API, Claude Code menggunakan kembali kunci tersebut, dan menawarkan untuk menyimpan rahasia `ANTHROPIC_API_KEY` yang ada di repositori jika sudah diatur
40 Penyiapan38* Jika tidak, pilih antara membuat token jangka panjang dengan langganan Claude Anda dan menempel kunci API
41</h2>
42 39
43<h2 id="quick-setup">40Claude Code menyimpan kredensial sebagai rahasia repositori, bernama `ANTHROPIC_API_KEY` untuk kunci API atau `CLAUDE_CODE_OAUTH_TOKEN` untuk token langganan.
44 Penyiapan cepat41
45</h2>42Claude 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.
43
44Jika 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](#run-a-skill) menggunakan skill yang sama dan mencantumkannya. Sebelum v2.1.229, Claude menulis ulasannya hanya ke log run alur kerja.
45
46Untuk memperbarui alur kerja ulasan yang dihasilkan versi sebelumnya, lakukan salah satu dari berikut:
46 47
47Jalankan `/install-github-app` di terminal Claude Code untuk menyiapkan integrasi secara interaktif. Perintah ini menginstal Claude GitHub App di repositori Anda dan kemudian memandu Anda melalui penambahan workflow GitHub Actions dan rahasia kunci API.48* Jalankan `/install-github-app` lagi. Ketika repositori sudah memiliki `claude.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.
49* Tambahkan argumen `--comment` dan baris `claude_args` dari [contoh alur kerja ulasan](#run-a-skill) ke file yang di-check-in sendiri, yang menjaga edit lain yang Anda buat padanya.
48 50
49Setelah GitHub App diinstal, perintah menanyakan apakah akan melanjutkan dengan penyiapan GitHub Actions. Di Claude Code v2.1.187 dan yang lebih baru, Anda dapat memilih **Skip for now** untuk berhenti hanya dengan App yang diinstal dan kembali ke langkah workflow dan rahasia dengan menjalankan `/install-github-app` lagi. Versi sebelumnya langsung melanjutkan ke pemilihan workflow.51Setelah menginstal GitHub App, Claude Code menanyakan apakah akan melanjutkan dengan penyiapan GitHub Actions. Pilih **Skip for now** untuk berhenti hanya dengan GitHub App yang diinstal. Jalankan `/install-github-app` lagi nanti untuk menyelesaikan langkah alur kerja dan rahasia. Sebelum v2.1.187, Claude Code langsung melanjutkan ke pemilihan alur kerja.
50 52
51<Note>53<Note>
52 * Anda harus menjadi admin repositori untuk menginstal aplikasi GitHub dan menambahkan rahasia54 * Ketika Anda menginstal GitHub App, Anda memberikan beberapa izin. Lihat [izin GitHub App](#github-app-permissions) untuk set lengkapnya
53 * Aplikasi GitHub akan meminta izin baca & tulis untuk Contents, Issues, dan Pull requests55 * 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](/docs/id/github-actions-cloud-providers)
54 * Metode quickstart ini hanya tersedia untuk pengguna Claude API langsung. Jika Anda menggunakan Amazon Bedrock atau Google Cloud's Agent Platform, silakan lihat bagian [Using with Amazon Bedrock and Google Cloud](#using-with-amazon-bedrock-and-google-cloud).
55</Note>56</Note>
56 57
57<h2 id="manual-setup">58<h3 id="manual-setup">
58 Penyiapan manual59 Penyiapan manual
59</h2>60</h3>
60 61
61Jika perintah `/install-github-app` gagal atau Anda lebih suka penyiapan manual, silakan ikuti instruksi penyiapan manual ini:62Untuk mengonfigurasi Claude Code GitHub Action tanpa menjalankan `/install-github-app`, instal aplikasi, tambahkan rahasia, dan salin file alur kerja sendiri:
63
64<Steps>
65 <Step title="Instal Claude GitHub App">
66 Instal [Claude GitHub App](https://github.com/apps/claude) ke repositori Anda. Claude Code GitHub Action mengandalkan tiga izin aplikasi:
67
68 * **Contents**: baca dan tulis, sehingga Claude dapat memodifikasi file repositori
69 * **Issues**: baca dan tulis, sehingga Claude dapat merespons issue
70 * **Pull requests**: baca dan tulis, sehingga Claude dapat membuat PR dan push perubahan
71
72 Selama instalasi, Anda juga memberikan izin yang fitur Claude lain gunakan. Lihat [izin GitHub App](#github-app-permissions) untuk set lengkapnya.
73 </Step>
62 74
631. **Instal aplikasi Claude GitHub** ke repositori Anda: [https://github.com/apps/claude](https://github.com/apps/claude)75 <Step title="Tambahkan rahasia autentikasi">
76 Tambahkan salah satu rahasia berikut ke repositori Anda, tergantung pada cara Anda mengautentikasi. Lihat panduan GitHub untuk [menggunakan rahasia di GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).
64 77
65 Aplikasi Claude GitHub memerlukan izin repositori berikut:78 * `ANTHROPIC_API_KEY`: kunci Claude API dari [Claude Console](https://platform.claude.com)
79 * `CLAUDE_CODE_OAUTH_TOKEN`: token OAuth yang mengautentikasi dengan langganan Claude Anda, tersedia di paket Pro, Max, Team, dan Enterprise. Hasilkan satu dengan menjalankan `claude setup-token` secara lokal. Lihat [Hasilkan token jangka panjang](/docs/id/authentication#generate-a-long-lived-token)
66 80
67 * **Contents**: Baca & tulis (untuk memodifikasi file repositori)81 Dalam file alur kerja, teruskan rahasia ke input yang cocok: `anthropic_api_key` untuk kunci API, atau `claude_code_oauth_token` untuk token OAuth.
68 * **Issues**: Baca & tulis (untuk merespons issue)82 </Step>
69 * **Pull requests**: Baca & tulis (untuk membuat PR dan push perubahan)
70 83
71 Untuk detail lebih lanjut tentang keamanan dan izin, lihat [dokumentasi keamanan](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).84 <Step title="Salin file alur kerja">
722. **Tambahkan ANTHROPIC\_API\_KEY** ke rahasia repositori Anda ([Pelajari cara menggunakan rahasia di GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions))85 Salin [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/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 }}`.
733. **Salin file workflow** dari [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) ke dalam direktori `.github/workflows/` repositori Anda86 </Step>
87</Steps>
74 88
75<Tip>89<Tip>
76 Setelah menyelesaikan penyiapan cepat atau manual, uji action dengan menandai `@claude` dalam komentar issue atau PR.90 Setelah penyiapan, uji Claude Code GitHub Action dengan menandai `@claude` dalam komentar issue atau PR.
77</Tip>91</Tip>
78 92
79<h2 id="upgrading-from-beta">93<h3 id="set-up-for-an-organization">
80 Upgrade dari Beta94 Penyiapan untuk organisasi
81</h2>95</h3>
82 96
83<Warning>97Dengan penyiapan cepat atau manual, Anda mengonfigurasi satu repositori sekaligus. Untuk meluncurkan Claude Code GitHub Action di seluruh organisasi:
84 Claude Code GitHub Actions v1.0 memperkenalkan perubahan breaking yang memerlukan pembaruan file workflow Anda untuk upgrade ke v1.0 dari versi beta.
85</Warning>
86 98
87Jika Anda saat ini menggunakan versi beta Claude Code GitHub Actions, kami merekomendasikan untuk memperbarui workflow Anda agar menggunakan versi GA. Versi baru menyederhanakan konfigurasi sambil menambahkan fitur baru yang kuat seperti deteksi mode otomatis.99* Instal [Claude GitHub App](https://github.com/apps/claude) sekali di tingkat organisasi, memilih semua repositori atau daftar yang dipilih
100* Simpan rahasia autentikasi sebagai rahasia Actions tingkat organisasi sehingga setiap repositori tidak perlu salinannya sendiri
101* 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](https://docs.github.com/en/actions/using-workflows/reusing-workflows) yang setiap repositori panggil
88 102
89<h3 id="essential-changes">103Untuk rahasia yang dibagikan di seluruh repositori, autentikasi dengan kunci API dari [Claude Console](https://platform.claude.com) daripada token OAuth, karena token OAuth terikat pada langganan orang yang menjalankan `claude setup-token`.
90 Perubahan penting104
91</h3>105Untuk 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:
92 106
93Semua pengguna beta harus membuat perubahan ini pada file workflow mereka untuk upgrade:107* `anthropic_federation_rule_id`: ID aturan federasi, `fdrl_...`
108* `anthropic_organization_id`: ID organisasi Anthropic Anda
109* `anthropic_service_account_id`: ID akun layanan, `svac_...`. Opsional, karena aturan federasi yang Anda buat di Console sudah menargetkan akun layanan
110* `anthropic_workspace_id`: ID workspace, `wrkspc_...`. Opsional ketika aturan federasi menargetkan workspace tunggal
94 111
951. **Perbarui versi action**: Ubah `@beta` menjadi `@v1`112Berikan alur kerja izin `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](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md) untuk konfigurasi sisi Console.
962. **Hapus konfigurasi mode**: Hapus `mode: "tag"` atau `mode: "agent"` (sekarang terdeteksi otomatis)
973. **Perbarui input prompt**: Ganti `direct_prompt` dengan `prompt`
984. **Pindahkan opsi CLI**: Konversi `max_turns`, `model`, `custom_instructions`, dll. ke `claude_args`
99 113
100<h3 id="breaking-changes-reference">114Untuk pertanyaan penanganan dan retensi data dalam tinjauan keamanan, lihat [penggunaan data](/docs/id/data-usage) dan [keamanan](/docs/id/security).
101 Breaking Changes Reference115
116<h3 id="uninstall">
117 Uninstal
102</h3>118</h3>
103 119
104| Old Beta Input | New v1.0 Input |120Untuk menghapus Claude Code GitHub Action, batalkan setiap bagian penyiapan yang berlaku untuk instalasi Anda:
105| --------------------- | ------------------------------------- |121
106| `mode` | *(Removed - auto-detected)* |122* **File alur kerja**: hapus alur kerja yang menggunakan `anthropics/claude-code-action` dari `.github/workflows/`. Jika Anda menggunakan penyiapan cepat, cari `claude.yml` dan, jika Anda memilih alur kerja ulasan, `claude-code-review.yml`. Dengan alur kerja dihapus, Claude Code GitHub Action tidak lagi berjalan
107| `direct_prompt` | `prompt` |123* **Rahasia**: hapus rahasia `ANTHROPIC_API_KEY` atau `CLAUDE_CODE_OAUTH_TOKEN` dari repositori, dan dari rahasia Actions tingkat organisasi jika Anda [membagikannya di seluruh repositori](#set-up-for-an-organization). Jika Anda menghapus rahasia, kredensial yang disimpannya tetap valid. Untuk pensiun kunci API sepenuhnya, juga hapus kunci di [Claude Console](https://platform.claude.com)
108| `override_prompt` | `prompt` with GitHub variables |124* **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
109| `custom_instructions` | `claude_args: --append-system-prompt` |125
110| `max_turns` | `claude_args: --max-turns` |126Jika Anda mengonfigurasi [penyedia cloud](/docs/id/github-actions-cloud-providers), juga hapus rahasia penyedia, seperti `AWS_ROLE_TO_ASSUME`, rahasia `GCP_*`, atau rahasia `AZURE_*`, dan uninstal GitHub App kustom bersama dengan rahasia `APP_ID` dan `APP_PRIVATE_KEY` miliknya.
111| `model` | `claude_args: --model` |127
112| `allowed_tools` | `claude_args: --allowedTools` |128<h3 id="github-app-permissions">
113| `disallowed_tools` | `claude_args: --disallowedTools` |129 Izin GitHub App
114| `claude_env` | `settings` JSON format |
115
116<h3 id="before-and-after-example">
117 Contoh Sebelum dan Sesudah
118</h3>130</h3>
119 131
120**Versi beta:**132[Claude GitHub App](https://github.com/apps/claude) dibagikan oleh setiap fitur Claude yang terintegrasi dengan GitHub, termasuk Claude Code GitHub Action, [Code Review](/docs/id/code-review), dan [auto-fix untuk pull request](/docs/id/claude-code-on-the-web#auto-fix-pull-requests) di Claude Code di web. GitHub App memiliki set izin tunggal yang mencakup semua fiturnya, jadi set mencakup beberapa izin yang Claude Code GitHub Action tidak gunakan.
121 133
122```yaml theme={null}134Ketika Anda menginstal aplikasi, Anda memberikan izin berikut:
123- uses: anthropics/claude-code-action@beta
124 with:
125 mode: "tag"
126 direct_prompt: "Review this PR for security issues"
127 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
128 custom_instructions: "Follow our coding standards"
129 max_turns: "10"
130 model: "claude-sonnet-5"
131```
132 135
133**Versi GA (v1.0):**136| Izin | Akses |
137| ---------------- | -------------- |
138| Actions | Baca dan tulis |
139| Checks | Baca dan tulis |
140| Contents | Baca dan tulis |
141| Discussions | Baca dan tulis |
142| Issues | Baca dan tulis |
143| Members | Baca |
144| Metadata | Baca |
145| Pull requests | Baca dan tulis |
146| Repository hooks | Baca dan tulis |
147| Statuses | Baca |
148| Workflows | Baca dan tulis |
134 149
135```yaml theme={null}150Set 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.
136- uses: anthropics/claude-code-action@v1
137 with:
138 prompt: "Review this PR for security issues"
139 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
140 claude_args: |
141 --append-system-prompt "Follow our coding standards"
142 --max-turns 10
143 --model claude-sonnet-5
144```
145 151
146<Tip>152Ketika 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](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md). Aplikasi kustom hanya mencakup Claude Code GitHub Action. Code Review dan web auto-fix masih memerlukan aplikasi resmi.
147 Action sekarang secara otomatis mendeteksi apakah akan dijalankan dalam mode interaktif (merespons penyebutan `@claude`) atau mode otomasi (berjalan segera dengan prompt) berdasarkan konfigurasi Anda.153
148</Tip>154Untuk detail tentang bagaimana Claude Code GitHub Action membatasi apa yang Claude dapat lakukan dengan izin ini, lihat [dokumentasi keamanan](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).
155
156<h2 id="interactive-and-automation-modes">
157 Mode interaktif dan otomasi
158</h2>
159
160Claude Code GitHub Action mendeteksi cara menjalankan dari konfigurasi alur kerja Anda:
161
162* **Mode interaktif**: ketika alur kerja tidak menyediakan input `prompt`, Claude menunggu frasa pemicu, `@claude` secara 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.
163* **Mode otomasi**: ketika alur kerja menyediakan input `prompt`, Claude berjalan tanpa menunggu penyebutan, tunduk hanya pada [pemeriksaan siapa yang dapat memicu run](#who-can-trigger-runs). 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](#run-a-skill).
164
165<h3 id="who-can-trigger-runs">
166 Siapa yang dapat memicu run
167</h3>
168
169Di kedua mode, Claude Code GitHub Action menjalankan dua pemeriksaan pada aktor pemicu sebelum Claude dimulai, dan run gagal ketika salah satu pemeriksaan menolaknya:
170
171* **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_users` dan teruskan input `github_token` Anda sendiri. Event yang tidak ada pengguna yang mengarang, seperti pemicu `schedule`, lewati pemeriksaan ini.
172* **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 jadwal `cron` alur kerja. Jika pengguna itu adalah bot, cantumkan di `allowed_bots`.
149 173
150<h2 id="example-use-cases">174<h2 id="example-use-cases">
151 Contoh kasus penggunaan175 Contoh kasus penggunaan
152</h2>176</h2>
153 177
154Claude Code GitHub Actions dapat membantu Anda dengan berbagai tugas. Direktori [examples](https://github.com/anthropics/claude-code-action/tree/main/examples) berisi workflow siap pakai untuk skenario berbeda.178Direktori [examples](https://github.com/anthropics/claude-code-action/tree/main/examples) berisi alur kerja siap pakai untuk skenario berbeda.
179
180Contoh di halaman ini menunjukkan autentikasi kunci API. Jika Anda mengautentikasi dengan langganan Claude, ganti baris `anthropic_api_key` dalam contoh apa pun dengan `claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`.
155 181
156<h3 id="basic-workflow">182<h3 id="respond-to-claude-mentions">
157 Workflow dasar183 Merespons penyebutan @claude
158</h3>184</h3>
159 185
186Alur kerja ini menjalankan Claude Code GitHub Action dalam mode interaktif, sehingga Claude merespons setiap kali seseorang menyebutkan `@claude` dalam komentar issue atau PR.
187
160```yaml theme={null}188```yaml theme={null}
161name: Claude Code189name: Claude Code
162on:190on:
166 types: [created]194 types: [created]
167jobs:195jobs:
168 claude:196 claude:
197 if: contains(github.event.comment.body, '@claude')
169 runs-on: ubuntu-latest198 runs-on: ubuntu-latest
199 permissions:
200 contents: write
201 pull-requests: write
202 issues: write
203 id-token: write
204 actions: read
170 steps:205 steps:
206 - uses: actions/checkout@v6
207 with:
208 fetch-depth: 1
171 - uses: anthropics/claude-code-action@v1209 - uses: anthropics/claude-code-action@v1
172 with:210 with:
173 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}211 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
174 # Responds to @claude mentions in comments
175```212```
176 213
177<h3 id="using-skills">214Bagian alur kerja ini yang bukan boilerplate:
178 Menggunakan skills215
216* `id-token: write`: diperlukan untuk autentikasi GitHub App default Claude Code GitHub Action
217* `actions: read`: memungkinkan Claude membaca hasil CI pada PR
218* `actions/checkout`: memberikan Claude salinan lokal repositori untuk dikerjakan
219* `if`: menjaga runner agar tidak dimulai pada komentar yang tidak menyebutkan `@claude`. Claude Code GitHub Action juga memeriksa frasa pemicu itu sendiri sebelum merespons
220
221Setelah alur kerja ada, sebutkan `@claude` dalam komentar issue atau PR apa pun dengan permintaan:
222
223```text wrap theme={null}
224@claude implement this feature based on the issue description
225@claude how should I implement user authentication for this endpoint?
226@claude fix the TypeError in the user dashboard component
227```
228
229Claude membalas dalam komentar pada issue atau PR yang sama dan memperbarui saat bekerja.
230
231<h3 id="run-a-skill">
232 Jalankan skill
179</h3>233</h3>
180 234
181Input `prompt` menerima [skill](/id/skills) invocation serta teks biasa:235Input `prompt` menerima invokasi [skill](/docs/id/skills) serta teks biasa:
182 236
183* Untuk skill di direktori `.claude/skills/` repositori Anda, jalankan `actions/checkout` sebelum langkah action dan berikan `/skill-name`.237* Untuk skill di direktori `.claude/skills/` repositori Anda, jalankan `actions/checkout` sebelum langkah `anthropics/claude-code-action` sehingga file skill tersedia di runner, kemudian teruskan `/skill-name` sebagai `prompt`.
184* Untuk skill yang dikemas dalam plugin, instal plugin dengan input `plugin_marketplaces` dan `plugins` serta berikan `/plugin-name:skill-name` dengan namespace.238* Untuk skill yang dikemas dalam [plugin](/docs/id/plugins), instal plugin dengan input `plugin_marketplaces` dan `plugins`, kemudian teruskan `/plugin-name:skill-name` dengan namespace sebagai `prompt`. Input `plugins` mengambil `plugin-name@marketplace-name`, di mana nama marketplace berasal dari manifest marketplace itu sendiri daripada URL repositorinya.
185 239
186Workflow berikut menginstal plugin `code-review` dan menjalankan skillnya pada setiap pull request baru atau yang diperbarui:240Alur kerja berikut menginstal plugin `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](/docs/id/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.
187 241
188```yaml theme={null}242```yaml theme={null}
189name: Code Review243name: Code Review
190on:244on:
191 pull_request:245 pull_request:
192 types: [opened, synchronize]246 types: [opened, synchronize, ready_for_review, reopened]
193jobs:247jobs:
194 review:248 review:
195 runs-on: ubuntu-latest249 runs-on: ubuntu-latest
250 permissions:
251 contents: read
252 pull-requests: read
253 issues: read
254 id-token: write
196 steps:255 steps:
256 - uses: actions/checkout@v6
257 with:
258 fetch-depth: 1
197 - uses: anthropics/claude-code-action@v1259 - uses: anthropics/claude-code-action@v1
198 with:260 with:
199 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}261 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
200 plugin_marketplaces: "https://github.com/anthropics/claude-code.git"262 plugin_marketplaces: "https://github.com/anthropics/claude-code.git"
201 plugins: "code-review@claude-code-plugins"263 plugins: "code-review@claude-code-plugins"
202 prompt: "/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"264 prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"
265 claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'
203```266```
204 267
205<h3 id="custom-automation-with-prompts">268Dua baris dalam alur kerja ini mengontrol di mana ulasan pergi:
206 Otomasi kustom dengan prompt269
270* **`--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.
271* **`claude_args`**: simpan baris ini meskipun frontmatter `allowed-tools` skill itu sendiri menamai alat yang sama, karena Claude Code GitHub Action memulai server MCP yang memposting komentar inline hanya ketika `--allowedTools` di `claude_args` menamakannya.
272
273Claude melewati pull request draft dan tertutup, pull request yang Claude nilai tidak perlu ulasan, seperti yang otomatis atau trivial, dan pull request yang sudah memiliki komentar dari Claude.
274
275<h3 id="run-on-a-schedule">
276 Jalankan pada jadwal
207</h3>277</h3>
208 278
279Dengan input `prompt`, 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`](/docs/id/permissions#permission-rule-syntax) di input `settings`. Jika Anda menjalankan skill sebagai gantinya, Claude dapat menggunakan alat yang frontmatter [`allowed-tools`](/docs/id/skills#pre-approve-tools-for-a-skill) miliknya berikan. GitHub menjalankan alur kerja terjadwal hanya dari branch default dan, di repositori publik, menonaktifkan jadwal setelah 60 hari tanpa aktivitas repositori.
280
281Alur kerja ini menghasilkan laporan dalam log run alur kerja pada 09:00 UTC setiap hari. Baris `claude_args` miliknya [meneruskan argumen CLI](#pass-cli-arguments) 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:
282
209```yaml theme={null}283```yaml theme={null}
210name: Daily Report284name: Daily Report
211on:285on:
214jobs:288jobs:
215 report:289 report:
216 runs-on: ubuntu-latest290 runs-on: ubuntu-latest
291 permissions:
292 contents: read
293 issues: read
294 id-token: write
217 steps:295 steps:
218 - uses: anthropics/claude-code-action@v1296 - uses: anthropics/claude-code-action@v1
219 with:297 with:
220 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}298 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
221 prompt: "Generate a summary of yesterday's commits and open issues"299 prompt: "Generate a summary of yesterday's commits and open issues"
222 claude_args: "--model opus"300 claude_args: |
223```301 --model claude-opus-4-8
224 302 --allowedTools "mcp__github__list_commits,mcp__github__list_issues"
225<h3 id="common-use-cases">
226 Kasus penggunaan umum
227</h3>
228
229Dalam komentar issue atau PR:
230
231```text wrap theme={null}
232@claude implement this feature based on the issue description
233@claude how should I implement user authentication for this endpoint?
234@claude fix the TypeError in the user dashboard component
235```303```
236 304
237Claude akan secara otomatis menganalisis konteks dan merespons dengan tepat.
238
239<h2 id="best-practices">305<h2 id="best-practices">
240 Praktik terbaik306 Praktik terbaik
241</h2>307</h2>
242 308
243<h3 id="claude-md-configuration">309<h3 id="define-project-standards-in-claude-md">
244 Konfigurasi CLAUDE.md310 Tentukan standar proyek di CLAUDE.md
245</h3>311</h3>
246 312
247Buat file `CLAUDE.md` di root repositori Anda untuk mendefinisikan panduan gaya kode, kriteria ulasan, aturan khusus proyek, dan pola yang disukai. File ini memandu pemahaman Claude tentang standar proyek Anda.313Buat file `CLAUDE.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](/docs/id/memory) untuk detail.
248 314
249<h3 id="security-considerations">315<h3 id="protect-your-credentials">
250 Pertimbangan keamanan316 Lindungi kredensial Anda
251</h3>317</h3>
252 318
253<Warning>Jangan pernah commit kunci API langsung ke repositori Anda.</Warning>319<Warning>
254 320 Jangan pernah commit kunci API atau token OAuth langsung ke repositori Anda. Selalu simpan sebagai GitHub Secrets dan referensikan dalam alur kerja, misalnya `anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}`.
255Untuk panduan keamanan komprehensif termasuk izin, autentikasi, dan praktik terbaik, lihat [dokumentasi keamanan Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).321</Warning>
256
257Selalu gunakan GitHub Secrets untuk kunci API:
258
259* Tambahkan kunci API Anda sebagai rahasia repositori bernama `ANTHROPIC_API_KEY`
260* Referensikan dalam workflow: `anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}`
261* Batasi izin action hanya untuk apa yang diperlukan
262* Tinjau saran Claude sebelum merge
263
264Selalu gunakan GitHub Secrets (misalnya, `${{ secrets.ANTHROPIC_API_KEY }}`) daripada hardcoding kunci API langsung dalam file workflow Anda.
265 322
266<h3 id="optimizing-performance">323Berikan alur kerja hanya izin yang dibutuhkannya, dan tinjau perubahan Claude sebelum merge.
267 Mengoptimalkan kinerja
268</h3>
269 324
270Gunakan template issue untuk memberikan konteks, jaga `CLAUDE.md` Anda ringkas dan terfokus, dan konfigurasikan timeout yang sesuai untuk workflow Anda.325Untuk panduan keamanan komprehensif termasuk izin dan autentikasi, lihat [dokumentasi keamanan Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).
271 326
272<h3 id="ci-costs">327<h3 id="manage-costs">
273 Biaya CI328 Kelola biaya
274</h3>329</h3>
275 330
276Saat menggunakan Claude Code GitHub Actions, waspadai biaya terkait:331Setiap run mengonsumsi dua jenis sumber daya:
277
278**Biaya GitHub Actions:**
279
280* Claude Code berjalan di runner yang dihosting GitHub, yang mengonsumsi menit GitHub Actions Anda
281* Lihat [dokumentasi penagihan GitHub](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions) untuk harga terperinci dan batas menit
282
283**Biaya API:**
284
285* Setiap interaksi Claude mengonsumsi token API berdasarkan panjang prompt dan respons
286* Penggunaan token bervariasi menurut kompleksitas tugas dan ukuran codebase
287* Lihat [halaman harga Claude](https://claude.com/platform/api) untuk tarif token saat ini
288
289**Tips optimasi biaya:**
290
291* Gunakan perintah `@claude` spesifik untuk mengurangi panggilan API yang tidak perlu
292* Konfigurasikan `--max-turns` yang sesuai dalam `claude_args` untuk mencegah iterasi berlebihan
293* Atur timeout tingkat workflow untuk menghindari pekerjaan yang tidak terkontrol
294* Pertimbangkan menggunakan kontrol concurrency GitHub untuk membatasi run paralel
295
296<h2 id="configuration-examples">
297 Contoh konfigurasi
298</h2>
299
300Claude Code Action v1 menyederhanakan konfigurasi dengan parameter terpadu:
301
302```yaml theme={null}
303- uses: anthropics/claude-code-action@v1
304 with:
305 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
306 prompt: "Your instructions here" # Optional
307 claude_args: "--max-turns 5" # Optional CLI arguments
308```
309 332
310Fitur utama:333* **Menit GitHub Actions**: Claude Code GitHub Action berjalan di runner yang dihosting GitHub, yang mengonsumsi menit GitHub Actions Anda. Lihat [dokumentasi penagihan GitHub](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions) untuk harga dan batas menit.
334* **Token API**: setiap interaksi mengonsumsi token berdasarkan panjang prompt dan respons, kompleksitas tugas, dan ukuran codebase. Lihat [halaman harga Claude](https://claude.com/platform/api) untuk tarif token saat ini. Jika Anda mengautentikasi dengan token OAuth, run menggunakan langganan Claude Anda daripada penagihan API.
311 335
312* **Antarmuka prompt terpadu** - Gunakan `prompt` untuk semua instruksi336Anda dapat menurunkan kedua jenis biaya dengan memberikan Claude konteks yang lebih jelas dan dengan membatasi berapa banyak pekerjaan yang dapat dilakukan setiap run:
313* **Skills** - Panggil [skills](/id/skills) yang terinstal langsung dari prompt
314* **Passthrough CLI** - Argumen Claude Code CLI apa pun melalui `claude_args`
315* **Pemicu fleksibel** - Bekerja dengan event GitHub apa pun
316 337
317Kunjungi [direktori examples](https://github.com/anthropics/claude-code-action/tree/main/examples) untuk file workflow lengkap.338* Tulis permintaan `@claude` spesifik sehingga Claude memerlukan lebih sedikit turn untuk menyelesaikan
339* Gunakan template issue untuk memberikan konteks di muka
340* Jaga `CLAUDE.md` Anda ringkas, karena Claude membacanya pada setiap run
341* Atur `--max-turns` di `claude_args` untuk membatasi iterasi
342* Atur timeout tingkat alur kerja untuk menghindari pekerjaan yang tidak terkontrol
343* Gunakan kontrol concurrency GitHub untuk membatasi run paralel
318 344
319<Tip>345Untuk pelacakan penggunaan di seluruh organisasi Anda, lihat [dashboard analytics](/docs/id/analytics) dan [monitoring](/docs/id/monitoring-usage). Untuk cara penggunaan diukur dan ditagih, lihat [biaya](/docs/id/costs).
320 Saat merespons komentar issue atau PR, Claude secara otomatis merespons penyebutan @claude. Untuk event lainnya, gunakan parameter `prompt` untuk memberikan instruksi.
321</Tip>
322 346
323<h2 id="using-with-amazon-bedrock-and-google-cloud">347<h2 id="use-a-cloud-provider">
324 Menggunakan dengan Amazon Bedrock dan Google Cloud348 Gunakan penyedia cloud
325</h2>349</h2>
326 350
327Untuk 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.351Secara 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](/docs/id/github-actions-cloud-providers):
328
329<h3 id="prerequisites">
330 Prasyarat
331</h3>
332
333Sebelum menyiapkan Claude Code GitHub Actions dengan penyedia cloud, Anda memerlukan:
334
335<h4 id="for-google-cloud’s-agent-platform">
336 Untuk Google Cloud's Agent Platform:
337</h4>
338
3391. Proyek Google Cloud dengan Google Cloud's Agent Platform diaktifkan
3402. Workload Identity Federation dikonfigurasi untuk GitHub Actions
3413. Akun layanan dengan izin yang diperlukan
3424. Aplikasi GitHub (direkomendasikan) atau gunakan GITHUB\_TOKEN default
343
344<h4 id="for-amazon-bedrock">
345 Untuk Amazon Bedrock:
346</h4>
347
3481. Akun AWS dengan Amazon Bedrock diaktifkan
3492. GitHub OIDC Identity Provider dikonfigurasi di AWS
3503. Peran IAM dengan izin Amazon Bedrock
3514. Aplikasi GitHub (direkomendasikan) atau gunakan GITHUB\_TOKEN default
352
353<Steps>
354 <Step title="Buat aplikasi GitHub kustom (Direkomendasikan untuk Penyedia Pihak Ketiga)">
355 Untuk kontrol dan keamanan terbaik saat menggunakan penyedia pihak ketiga seperti Google Cloud's Agent Platform atau Amazon Bedrock, kami merekomendasikan membuat aplikasi GitHub Anda sendiri:
356
357 1. Buka [https://github.com/settings/apps/new](https://github.com/settings/apps/new)
358 2. Isi informasi dasar:
359 * **GitHub App name**: Pilih nama unik (misalnya, "YourOrg Claude Assistant")
360 * **Homepage URL**: Website organisasi Anda atau URL repositori
361 3. Konfigurasikan pengaturan aplikasi:
362 * **Webhooks**: Hapus centang "Active" (tidak diperlukan untuk integrasi ini)
363 4. Atur izin yang diperlukan:
364 * **Repository permissions**:
365 * Contents: Read & Write
366 * Issues: Read & Write
367 * Pull requests: Read & Write
368 5. Klik "Create GitHub App"
369 6. Setelah pembuatan, klik "Generate a private key" dan simpan file `.pem` yang diunduh
370 7. Catat App ID Anda dari halaman pengaturan aplikasi
371 8. Instal aplikasi ke repositori Anda:
372 * Dari halaman pengaturan aplikasi Anda, klik "Install App" di sidebar kiri
373 * Pilih akun atau organisasi Anda
374 * Pilih "Only select repositories" dan pilih repositori spesifik
375 * Klik "Install"
376 9. Tambahkan kunci pribadi sebagai rahasia ke repositori Anda:
377 * Buka Settings → Secrets and variables → Actions repositori Anda
378 * Buat rahasia baru bernama `APP_PRIVATE_KEY` dengan isi file `.pem`
379 10. Tambahkan App ID sebagai rahasia:
380
381 * Buat rahasia baru bernama `APP_ID` dengan ID aplikasi GitHub Anda
382
383 <Note>
384 Aplikasi ini akan digunakan dengan action [actions/create-github-app-token](https://github.com/actions/create-github-app-token) untuk menghasilkan token autentikasi dalam workflow Anda.
385 </Note>
386
387 **Alternatif untuk Claude API atau jika Anda tidak ingin menyiapkan aplikasi Github Anda sendiri**: Gunakan aplikasi Anthropic resmi:
388
389 1. Instal dari: [https://github.com/apps/claude](https://github.com/apps/claude)
390 2. Tidak ada konfigurasi tambahan yang diperlukan untuk autentikasi
391 </Step>
392
393 <Step title="Konfigurasikan autentikasi penyedia cloud">
394 Pilih penyedia cloud Anda dan siapkan autentikasi aman:
395
396 <AccordionGroup>
397 <Accordion title="Amazon Bedrock">
398 **Konfigurasikan AWS untuk memungkinkan GitHub Actions mengautentikasi dengan aman tanpa menyimpan kredensial.**
399
400 > **Security Note**: Gunakan konfigurasi khusus repositori dan berikan hanya izin minimum yang diperlukan.
401
402 **Required Setup**:
403
404 1. **Enable Amazon Bedrock**:
405 * Minta akses ke model Claude di Amazon Bedrock
406 * Untuk model lintas region, minta akses di semua region yang diperlukan
407
408 2. **Set up GitHub OIDC Identity Provider**:
409 * Provider URL: `https://token.actions.githubusercontent.com`
410 * Audience: `sts.amazonaws.com`
411
412 3. **Create IAM Role for GitHub Actions**:
413 * Trusted entity type: Web identity
414 * Identity provider: `token.actions.githubusercontent.com`
415 * Permissions: `AmazonBedrockFullAccess` policy
416 * Configure trust policy for your specific repository
417
418 **Required Values**:
419
420 Setelah penyiapan, Anda akan memerlukan:
421
422 * **AWS\_ROLE\_TO\_ASSUME**: ARN dari peran IAM yang Anda buat
423
424 <Tip>
425 OIDC lebih aman daripada menggunakan kunci akses AWS statis karena kredensial bersifat sementara dan secara otomatis dirotasi.
426 </Tip>
427
428 Lihat [dokumentasi AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html) untuk instruksi penyiapan OIDC terperinci.
429 </Accordion>
430
431 <Accordion title="Google Cloud's Agent Platform">
432 **Konfigurasikan Google Cloud untuk memungkinkan GitHub Actions mengautentikasi dengan aman tanpa menyimpan kredensial.**
433
434 > **Security Note**: Gunakan konfigurasi khusus repositori dan berikan hanya izin minimum yang diperlukan.
435
436 **Required Setup**:
437 352
438 1. **Enable APIs** di proyek Google Cloud Anda:353* **Amazon Bedrock**: `use_bedrock: "true"`
439 * IAM Credentials API354* **Google Cloud's Agent Platform**: `use_vertex: "true"`
440 * Security Token Service (STS) API355* **Microsoft Foundry**: `use_foundry: "true"`
441 * Google Cloud's Agent Platform API
442 356
443 2. **Create Workload Identity Federation resources**:357Dengan ketiga penyedia, Anda mengautentikasi melalui federasi identitas OIDC daripada kunci API Claude, jadi Anda tidak menyimpan kredensial cloud statis di repositori Anda.
444 * Buat Workload Identity Pool
445 * Tambahkan penyedia OIDC GitHub dengan:
446 * Issuer: `https://token.actions.githubusercontent.com`
447 * Attribute mappings untuk repositori dan pemilik
448 * **Security recommendation**: Gunakan kondisi atribut khusus repositori
449
450 3. **Create a Service Account**:
451 * Berikan hanya peran `Vertex AI User`
452 * **Security recommendation**: Buat akun layanan khusus per repositori
453
454 4. **Configure IAM bindings**:
455 * Izinkan Workload Identity Pool untuk menyamar sebagai akun layanan
456 * **Security recommendation**: Gunakan set principal khusus repositori
457
458 **Required Values**:
459
460 Setelah penyiapan, Anda akan memerlukan:
461
462 * **GCP\_WORKLOAD\_IDENTITY\_PROVIDER**: Nama sumber daya penyedia lengkap
463 * **GCP\_SERVICE\_ACCOUNT**: Alamat email akun layanan
464
465 <Tip>
466 Workload Identity Federation menghilangkan kebutuhan untuk kunci akun layanan yang dapat diunduh, meningkatkan keamanan.
467 </Tip>
468
469 Untuk instruksi penyiapan terperinci, konsultasikan [dokumentasi Google Cloud Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation).
470 </Accordion>
471 </AccordionGroup>
472 </Step>
473
474 <Step title="Tambahkan Rahasia yang Diperlukan">
475 Tambahkan rahasia berikut ke repositori Anda (Settings → Secrets and variables → Actions):
476
477 #### Untuk Claude API (Langsung):
478
479 1. **Untuk Autentikasi API**:
480 * `ANTHROPIC_API_KEY`: Kunci Claude API Anda dari [console.anthropic.com](https://console.anthropic.com)
481
482 2. **Untuk Aplikasi GitHub (jika menggunakan aplikasi Anda sendiri)**:
483 * `APP_ID`: ID Aplikasi GitHub Anda
484 * `APP_PRIVATE_KEY`: Konten kunci pribadi (.pem)
485
486 #### Untuk Google Cloud's Agent Platform
487
488 1. **Untuk Autentikasi GCP**:
489 * `GCP_WORKLOAD_IDENTITY_PROVIDER`
490 * `GCP_SERVICE_ACCOUNT`
491
492 2. **Untuk Aplikasi GitHub (jika menggunakan aplikasi Anda sendiri)**:
493 * `APP_ID`: ID Aplikasi GitHub Anda
494 * `APP_PRIVATE_KEY`: Konten kunci pribadi (.pem)
495
496 #### Untuk AWS Bedrock
497
498 1. **Untuk Autentikasi AWS**:
499 * `AWS_ROLE_TO_ASSUME`
500
501 2. **Untuk Aplikasi GitHub (jika menggunakan aplikasi Anda sendiri)**:
502 * `APP_ID`: ID Aplikasi GitHub Anda
503 * `APP_PRIVATE_KEY`: Konten kunci pribadi (.pem)
504 </Step>
505
506 <Step title="Buat file workflow">
507 Buat file workflow GitHub Actions yang terintegrasi dengan penyedia cloud Anda. Contoh di bawah menunjukkan konfigurasi lengkap untuk Amazon Bedrock dan Google Cloud's Agent Platform:
508
509 <AccordionGroup>
510 <Accordion title="Workflow Amazon Bedrock">
511 **Prasyarat:**
512
513 * Akses Amazon Bedrock diaktifkan dengan izin model Claude
514 * GitHub dikonfigurasi sebagai penyedia identitas OIDC di AWS
515 * Peran IAM dengan izin Amazon Bedrock yang mempercayai GitHub Actions
516
517 **Rahasia GitHub yang diperlukan:**
518
519 | Secret Name | Description |
520 | -------------------- | ----------------------------------------------------------- |
521 | `AWS_ROLE_TO_ASSUME` | ARN dari peran IAM untuk akses Amazon Bedrock |
522 | `APP_ID` | ID Aplikasi GitHub Anda (dari pengaturan aplikasi) |
523 | `APP_PRIVATE_KEY` | Kunci pribadi yang Anda hasilkan untuk Aplikasi GitHub Anda |
524
525 ```yaml theme={null}
526 name: Claude PR Action
527
528 permissions:
529 contents: write
530 pull-requests: write
531 issues: write
532 id-token: write
533
534 on:
535 issue_comment:
536 types: [created]
537 pull_request_review_comment:
538 types: [created]
539 issues:
540 types: [opened, assigned]
541
542 jobs:
543 claude-pr:
544 if: |
545 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
546 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
547 (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
548 runs-on: ubuntu-latest
549 env:
550 AWS_REGION: us-west-2
551 steps:
552 - name: Checkout repository
553 uses: actions/checkout@v4
554
555 - name: Generate GitHub App token
556 id: app-token
557 uses: actions/create-github-app-token@v2
558 with:
559 app-id: ${{ secrets.APP_ID }}
560 private-key: ${{ secrets.APP_PRIVATE_KEY }}
561
562 - name: Configure AWS Credentials (OIDC)
563 uses: aws-actions/configure-aws-credentials@v4
564 with:
565 role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
566 aws-region: us-west-2
567
568 - uses: anthropics/claude-code-action@v1
569 with:
570 github_token: ${{ steps.app-token.outputs.token }}
571 use_bedrock: "true"
572 claude_args: '--model us.anthropic.claude-sonnet-4-6 --max-turns 10'
573 ```
574
575 <Tip>
576 Format ID model untuk Amazon Bedrock mencakup awalan region (misalnya, `us.anthropic.claude-sonnet-4-6`).
577 </Tip>
578 </Accordion>
579
580 <Accordion title="Workflow Google Cloud's Agent Platform">
581 **Prasyarat:**
582
583 * Google Cloud's Agent Platform API diaktifkan di proyek GCP Anda
584 * Workload Identity Federation dikonfigurasi untuk GitHub
585 * Akun layanan dengan izin Google Cloud's Agent Platform
586
587 **Rahasia GitHub yang diperlukan:**
588
589 | Secret Name | Description |
590 | -------------------------------- | ------------------------------------------------------------- |
591 | `GCP_WORKLOAD_IDENTITY_PROVIDER` | Nama sumber daya penyedia identitas workload |
592 | `GCP_SERVICE_ACCOUNT` | Email akun layanan dengan akses Google Cloud's Agent Platform |
593 | `APP_ID` | ID Aplikasi GitHub Anda (dari pengaturan aplikasi) |
594 | `APP_PRIVATE_KEY` | Kunci pribadi yang Anda hasilkan untuk Aplikasi GitHub Anda |
595
596 ```yaml theme={null}
597 name: Claude PR Action
598
599 permissions:
600 contents: write
601 pull-requests: write
602 issues: write
603 id-token: write
604
605 on:
606 issue_comment:
607 types: [created]
608 pull_request_review_comment:
609 types: [created]
610 issues:
611 types: [opened, assigned]
612
613 jobs:
614 claude-pr:
615 if: |
616 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
617 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
618 (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
619 runs-on: ubuntu-latest
620 steps:
621 - name: Checkout repository
622 uses: actions/checkout@v4
623
624 - name: Generate GitHub App token
625 id: app-token
626 uses: actions/create-github-app-token@v2
627 with:
628 app-id: ${{ secrets.APP_ID }}
629 private-key: ${{ secrets.APP_PRIVATE_KEY }}
630
631 - name: Authenticate to Google Cloud
632 id: auth
633 uses: google-github-actions/auth@v2
634 with:
635 workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
636 service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}
637
638 - uses: anthropics/claude-code-action@v1
639 with:
640 github_token: ${{ steps.app-token.outputs.token }}
641 trigger_phrase: "@claude"
642 use_vertex: "true"
643 claude_args: '--model claude-sonnet-4-5@20250929 --max-turns 10'
644 env:
645 ANTHROPIC_VERTEX_PROJECT_ID: ${{ steps.auth.outputs.project_id }}
646 CLOUD_ML_REGION: us-east5
647 VERTEX_REGION_CLAUDE_4_5_SONNET: us-east5
648 ```
649
650 <Tip>
651 ID proyek secara otomatis diambil dari langkah autentikasi Google Cloud, jadi Anda tidak perlu hardcode.
652 </Tip>
653 </Accordion>
654 </AccordionGroup>
655 </Step>
656</Steps>
657 358
658<h2 id="troubleshooting">359<h2 id="troubleshooting">
659 Troubleshooting360 Troubleshooting
663 Claude tidak merespons perintah @claude364 Claude tidak merespons perintah @claude
664</h3>365</h3>
665 366
666Verifikasi aplikasi GitHub terinstal dengan benar, periksa bahwa workflow diaktifkan, pastikan kunci API diatur dalam rahasia repositori, dan konfirmkan komentar berisi `@claude` (bukan `/claude`).367* Verifikasi GitHub App diinstal di repositori
368* Periksa bahwa alur kerja diaktifkan untuk repositori
369* Pastikan kunci API atau token OAuth diatur dalam rahasia repositori
370* Konfirmkan komentar berisi `@claude` sebagai kata lengkap, bukan `/claude` atau `@claude-bot`
371* Konfirmkan pengguna yang berkomentar memiliki akses tulis ke repositori. Lihat [Siapa yang dapat memicu run](#who-can-trigger-runs) untuk pengecualian
667 372
668<h3 id="ci-not-running-on-claude’s-commits">373<h3 id="ci-not-running-on-claude’s-commits">
669 CI tidak berjalan pada commit Claude374 CI tidak berjalan pada commit Claude
670</h3>375</h3>
671 376
672Pastikan Anda menggunakan aplikasi GitHub atau aplikasi kustom (bukan pengguna Actions), periksa pemicu workflow mencakup event yang diperlukan, dan verifikasi izin aplikasi mencakup pemicu CI.377* GitHub tidak memicu alur kerja pada commit yang dibuat dengan `GITHUB_TOKEN` default. Jika Anda meneruskan `github_token: ${{ secrets.GITHUB_TOKEN }}` ke Claude Code GitHub Action, hapus sehingga mengautentikasi sebagai Claude GitHub App, atau teruskan token aplikasi kustom sebagai gantinya
378* Periksa bahwa pemicu alur kerja CI Anda mencakup event yang push Claude hasilkan, seperti `push` atau `pull_request`
673 379
674<h3 id="authentication-errors">380<h3 id="authentication-errors">
675 Kesalahan autentikasi381 Kesalahan autentikasi
676</h3>382</h3>
677 383
678Konfirmkan kunci API valid dan memiliki izin yang cukup. Untuk Amazon Bedrock atau Google Cloud's Agent Platform, periksa konfigurasi kredensial dan pastikan rahasia dinamai dengan benar dalam workflow.384* Konfirmkan kunci API atau token OAuth valid dengan mengujinya secara lokal dengan `claude` sebelum men-debug alur kerja
385* Untuk Bedrock, Agent Platform, dan Foundry, lihat bagian [troubleshooting](/docs/id/github-actions-cloud-providers#troubleshooting) halaman penyedia cloud
386
387Untuk solusi lebih lanjut, lihat [FAQ](https://github.com/anthropics/claude-code-action/blob/main/docs/faq.md) Claude Code GitHub Action.
679 388
680<h2 id="advanced-configuration">389<h2 id="advanced-configuration">
681 Konfigurasi lanjutan390 Konfigurasi lanjutan
685 Parameter action394 Parameter action
686</h3>395</h3>
687 396
688Claude Code Action v1 menggunakan konfigurasi yang disederhanakan:397Ini adalah input yang paling umum digunakan. Masing-masing memetakan ke kunci `with:` dalam langkah `anthropics/claude-code-action`.
689 398
690| Parameter | Description | Required |399| Parameter | Deskripsi | Diperlukan |
691| --------------------- | ----------------------------------------------------------------------------- | -------- |400| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
692| `prompt` | Instruksi untuk Claude (teks biasa atau nama [skill](/id/skills)) | No\* |401| `prompt` | Instruksi untuk Claude, sebagai teks biasa atau invokasi [skill](/docs/id/skills). Ketika dihilangkan, Claude merespons [frasa pemicu](#interactive-and-automation-modes) sebagai gantinya | Tidak |
693| `claude_args` | Argumen CLI yang diteruskan ke Claude Code | No |402| `claude_args` | Argumen CLI yang diteruskan ke Claude Code | Tidak |
694| `plugin_marketplaces` | Daftar URL Git marketplace plugin yang dipisahkan baris baru | No |403| `anthropic_api_key` | Kunci Claude API | Untuk Claude API, kecuali Anda menggunakan `claude_code_oauth_token` atau [federasi identitas beban kerja](#set-up-for-an-organization). Tidak digunakan untuk Bedrock, Agent Platform, atau Foundry |
695| `plugins` | Daftar nama plugin yang dipisahkan baris baru untuk diinstal sebelum eksekusi | No |404| `claude_code_oauth_token` | Token OAuth untuk mengautentikasi dengan langganan Claude, dihasilkan dengan `claude setup-token` | Tidak |
696| `anthropic_api_key` | Kunci Claude API | Yes\*\* |405| `github_token` | Token untuk operasi GitHub. Ketika dihilangkan, Claude Code GitHub Action mengautentikasi sebagai Claude GitHub App | Tidak |
697| `github_token` | Token GitHub untuk akses API | No |406| `plugin_marketplaces` | Daftar URL Git marketplace plugin yang dipisahkan baris baru | Tidak |
698| `trigger_phrase` | Frasa pemicu kustom (default: "@claude") | No |407| `plugins` | Daftar nama plugin yang dipisahkan baris baru untuk diinstal sebelum eksekusi | Tidak |
699| `use_bedrock` | Gunakan Amazon Bedrock alih-alih Claude API | No |408| `settings` | Pengaturan Claude Code, sebagai string JSON atau path ke file JSON pengaturan | Tidak |
700| `use_vertex` | Gunakan Google Cloud's Agent Platform alih-alih Claude API | No |409| `trigger_phrase` | Frasa pemicu Claude merespons. Default: `@claude` | Tidak |
701 410| `use_bedrock` | Gunakan Amazon Bedrock daripada Claude API | Tidak |
702\*Prompt opsional - saat dihilangkan untuk komentar issue/PR, Claude merespons frasa pemicu\411| `use_vertex` | Gunakan Google Cloud's Agent Platform daripada Claude API | Tidak |
703\*\*Diperlukan untuk Claude API langsung, bukan untuk Amazon Bedrock atau Google Cloud's Agent Platform412| `use_foundry` | Gunakan Microsoft Foundry daripada Claude API | Tidak |
704 413
705<h4 id="pass-cli-arguments">414Untuk daftar input lengkap, lihat [referensi konfigurasi](https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md#inputs) Claude Code GitHub Action.
415
416<h3 id="pass-cli-arguments">
706 Teruskan argumen CLI417 Teruskan argumen CLI
707</h4>418</h3>
708 419
709Parameter `claude_args` menerima argumen Claude Code CLI apa pun:420Parameter `claude_args` menerima argumen [Claude Code CLI](/docs/id/cli-reference) apa pun:
710 421
711```yaml theme={null}422```yaml theme={null}
712claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"423claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"
714 425
715Argumen umum:426Argumen umum:
716 427
717* `--max-turns`: Maksimum conversation turns (default: 10)428* `--max-turns`: batasi jumlah conversation turn
718* `--model`: Model yang digunakan (misalnya, `claude-sonnet-5`)429* `--model`: model yang digunakan, misalnya `claude-sonnet-5`. Tanpa argumen ini, Claude Code GitHub Action menggunakan [model default](/docs/id/model-config) Claude Code
719* `--mcp-config`: Path ke konfigurasi MCP430* `--mcp-config`: path ke [konfigurasi MCP](/docs/id/mcp)
720* `--allowedTools`: Daftar tools yang diizinkan dipisahkan koma. Alias `--allowed-tools` juga berfungsi.431* `--allowedTools`: daftar alat yang diizinkan yang dipisahkan koma. Alias `--allowed-tools` juga berfungsi
721* `--debug`: Aktifkan output debug432* `--debug`: aktifkan output debug
722
723<h3 id="alternative-integration-methods">
724 Metode integrasi alternatif
725</h3>
726
727Meskipun perintah `/install-github-app` adalah pendekatan yang direkomendasikan, Anda juga dapat:
728 433
729* **Custom GitHub App**: Untuk organisasi yang memerlukan nama pengguna bermerek atau alur autentikasi kustom. Buat aplikasi GitHub Anda sendiri dengan izin yang diperlukan (contents, issues, pull requests) dan gunakan action actions/create-github-app-token untuk menghasilkan token dalam workflow Anda.434<h2 id="upgrade-from-beta">
730* **Manual GitHub Actions**: Konfigurasi workflow langsung untuk fleksibilitas maksimal435 Upgrade dari beta
731* **MCP Configuration**: Pemuatan dinamis server Model Context Protocol436</h2>
732 437
733Lihat [dokumentasi Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs) untuk panduan terperinci tentang autentikasi, keamanan, dan konfigurasi lanjutan.438Jika alur kerja Anda masih mereferensikan `anthropics/claude-code-action@beta`, perbarui ke v1:
734 439
735<h3 id="customizing-claude’s-behavior">4401. Ubah `@beta` menjadi `@v1` dalam baris `uses`
736 Menyesuaikan perilaku Claude4412. Hapus input `mode`, karena Claude Code GitHub Action sekarang [mendeteksi mode secara otomatis](#interactive-and-automation-modes)
737</h3>4423. Ganti `direct_prompt` dengan `prompt`
4434. Pindahkan opsi CLI seperti `max_turns` dan `model` ke `claude_args`. `custom_instructions` tidak memiliki flag dengan nama yang sama dan menjadi `--append-system-prompt`
738 444
739Anda dapat mengonfigurasi perilaku Claude dengan dua cara:445Untuk pemetaan input lengkap dan contoh sebelum-dan-sesudah, lihat [panduan migrasi](https://github.com/anthropics/claude-code-action/blob/main/docs/migration-guide.md).
740 446
7411. **CLAUDE.md**: Tentukan standar coding, kriteria ulasan, dan aturan khusus proyek dalam file `CLAUDE.md` di root repositori Anda. Claude akan mengikuti panduan ini saat membuat PR dan merespons permintaan. Lihat [dokumentasi Memory](/id/memory) kami untuk detail lebih lanjut.447<h2 id="what’s-next">
7422. **Custom prompts**: Gunakan parameter `prompt` dalam file workflow untuk memberikan instruksi khusus workflow. Ini memungkinkan Anda menyesuaikan perilaku Claude untuk workflow atau tugas berbeda.448 Apa selanjutnya
449</h2>
743 450
744Claude akan mengikuti panduan ini saat membuat PR dan merespons permintaan.451* [Gunakan Claude Code GitHub Actions dengan penyedia cloud](/docs/id/github-actions-cloud-providers): rutekan inferensi melalui Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry
452* [Referensi konfigurasi](https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md#inputs): daftar lengkap input action
453* [Direktori examples](https://github.com/anthropics/claude-code-action/tree/main/examples): alur kerja siap pakai untuk skenario lebih lanjut
454* [Code Review](/docs/id/code-review): ulasan pull request otomatis tanpa memelihara file alur kerja