4 4
5# Claude Code GitHub Actions5# Claude Code GitHub Actions
6 6
7> Scopri come integrare Claude Code nel tuo flusso di lavoro di sviluppo con Claude Code GitHub Actions7> Esegui Claude Code nei flussi di lavoro di GitHub Actions per rispondere alle menzioni @claude, automatizzare attività e trasformare issue in pull request
8 8
9Claude Code GitHub Actions porta l'automazione basata su AI al tuo flusso di lavoro GitHub. Con una semplice menzione `@claude` in qualsiasi PR o issue, Claude può analizzare il tuo codice, creare pull request, implementare funzionalità e correggere bug - il tutto seguendo gli standard del tuo progetto. Per le revisioni automatiche pubblicate su ogni PR senza un trigger, vedi [GitHub Code Review](/it/code-review).9[Claude Code GitHub Actions](https://github.com/anthropics/claude-code-action) è un'azione GitHub che esegue Claude Code all'interno dei flussi di lavoro del tuo repository. Menziona `@claude` in un commento di pull request o issue per fare in modo che Claude analizzi il codice, implementi modifiche e spinga commit. Puoi anche fornire al Claude Code GitHub Action un prompt per eseguirlo automaticamente su qualsiasi evento GitHub. Usalo per trasformare issue in pull request, correggere bug da un commento o automatizzare attività ricorrenti.
10 10
11<Note>11Diversi prodotti condividono il nome Claude Code. Questa pagina copre l'integrazione del flusso di lavoro `claude-code-action`, che configuri con file di flusso di lavoro nel tuo repository. Per i prodotti correlati, vedi:
12 Claude Code GitHub Actions è costruito sulla base dell'[Claude Agent SDK](/it/agent-sdk/overview), che consente l'integrazione programmatica di Claude Code nelle tue applicazioni. Puoi utilizzare l'SDK per costruire flussi di lavoro di automazione personalizzati oltre GitHub Actions.
13</Note>
14 12
15<h2 id="why-use-claude-code-github-actions">13* [Code Review](/docs/it/code-review): revisione automatica su ogni pull request, senza scrivere un flusso di lavoro
16 Perché utilizzare Claude Code GitHub Actions?14* [Claude Code sul web](/docs/it/claude-code-on-the-web): sessioni di Claude Code dal tuo browser o telefono
15* [Claude Agent SDK](/docs/it/agent-sdk/overview): automazione personalizzata al di fuori di GitHub Actions. Il Claude Code GitHub Action è costruito sull'SDK
16* [GitHub Enterprise Server](/docs/it/github-enterprise-server): Claude Code con GitHub auto-ospitato
17
18<h2 id="setup">
19 Setup
17</h2>20</h2>
18 21
19* **Creazione istantanea di PR**: Descrivi ciò di cui hai bisogno e Claude crea una PR completa con tutti i cambiamenti necessari22Puoi configurare il Claude Code GitHub Action in uno di due modi:
20* **Implementazione automatica del codice**: Trasforma gli issue in codice funzionante con un singolo comando
21* **Segue i tuoi standard**: Claude rispetta le tue linee guida `CLAUDE.md` e i pattern di codice esistenti
22* **Configurazione semplice**: Inizia in pochi minuti con il nostro installer e la chiave API
23* **Sicuro per impostazione predefinita**: Il tuo codice rimane sui runner di Github
24 23
25<h2 id="what-can-claude-do">24* **Setup rapido**: esegui `/install-github-app` da Claude Code. Claude Code installa l'app GitHub, aggiunge il tuo secret di autenticazione e prepara la pull request del flusso di lavoro per te
26 Cosa può fare Claude?25* **Setup manuale**: installa l'app, aggiungi il secret e copia il file del flusso di lavoro nel tuo repository da solo. Usa questo percorso quando non esegui Claude Code localmente, quando il comando fallisce o quando vuoi il controllo completo dei file di flusso di lavoro
27</h2>
28 26
29Claude Code fornisce un potente GitHub Action che trasforma il modo in cui lavori con il codice:27Per entrambi i percorsi, hai bisogno dell'accesso amministratore al repository.
30 28
31<h3 id="claude-code-action">29<h3 id="quick-setup">
32 Claude Code Action30 Setup rapido
33</h3>31</h3>
34 32
35Questo GitHub Action ti consente di eseguire Claude Code all'interno dei tuoi flussi di lavoro GitHub Actions. Puoi utilizzarlo per costruire qualsiasi flusso di lavoro personalizzato sulla base di Claude Code.33`/install-github-app` funziona solo con repository github.com. Se il git remote del tuo repository è su gitlab.com o bitbucket.org, il comando stampa un avviso ed esce invece di avviare la configurazione. Per eseguire Claude Code da pipeline GitLab, vedi [Claude Code GitLab CI/CD](/docs/it/gitlab-ci-cd).
36 34
37[Visualizza repository →](https://github.com/anthropics/claude-code-action)35Prima di iniziare, installa la [GitHub CLI](https://cli.github.com) e autenticala con `gh auth login`. Claude Code la cerca e ti avverte se manca.
38 36
39<h2 id="setup">37Apri `claude` nel repository che vuoi connettere, esegui `/install-github-app` e segui i prompt. Claude Code installa l'app GitHub di Claude, quindi configura un secret di autenticazione per i flussi di lavoro:
40 Setup
41</h2>
42 38
43<h2 id="quick-setup">39* Se Claude Code ha già una chiave API, la riutilizza e offre di mantenere il secret `ANTHROPIC_API_KEY` esistente del repository se uno è già impostato
44 Configurazione rapida40* Altrimenti, scegli tra creare un token di lunga durata con la tua sottoscrizione Claude e incollare una chiave API
45</h2>41
42Claude Code salva le credenziali come secret del repository, denominato `ANTHROPIC_API_KEY` per una chiave API o `CLAUDE_CODE_OAUTH_TOKEN` per un token di sottoscrizione.
43
44Claude Code quindi spinge un ramo con i file di flusso di lavoro che selezioni, già impostati per usare quel secret, e apre GitHub nel tuo browser con una pull request pronta per essere creata. Crea e unisci quella pull request, e `@claude` funziona nel repository.
45
46Se selezioni il flusso di lavoro di revisione, Claude pubblica ogni revisione sulla pull request stessa, come commento inline su ogni problema che trova o come un commento di riepilogo quando non ne trova nessuno. Claude salta alcune pull request, come le bozze. L'[esempio del flusso di lavoro di revisione](#run-a-skill) usa la stessa skill e le elenca. Prima della v2.1.229, Claude scriveva la sua revisione solo nel log di esecuzione del flusso di lavoro.
47
48Per aggiornare un flusso di lavoro di revisione che una versione precedente ha generato, fai uno dei seguenti:
46 49
47Esegui `/install-github-app` nel terminale di Claude Code per configurare l'integrazione in modo interattivo. Il comando installa l'app GitHub di Claude nel tuo repository e poi ti guida attraverso l'aggiunta dei workflow di GitHub Actions e del secret della chiave API.50* Esegui `/install-github-app` di nuovo. Quando il repository ha già un `claude.yml`, seleziona **Update workflow file with latest version**. Claude Code spinge copie fresche dei file di flusso di lavoro a un nuovo ramo e apre la pull request, come un primo install.
51* Aggiungi l'argomento `--comment` e la riga `claude_args` dall'[esempio del flusso di lavoro di revisione](#run-a-skill) al file archiviato da solo, che mantiene qualsiasi altra modifica che hai fatto ad esso.
48 52
49Dopo che l'app GitHub è installata, il comando chiede se continuare con la configurazione di GitHub Actions. In Claude Code v2.1.187 e versioni successive puoi scegliere **Salta per ora** per fermarti con solo l'app installata e tornare ai passaggi del workflow e del secret eseguendo di nuovo `/install-github-app`. Le versioni precedenti procedono direttamente alla selezione del workflow.53Dopo aver installato l'app GitHub, Claude Code chiede se continuare con la configurazione di GitHub Actions. Scegli **Skip for now** per fermarti con solo l'app GitHub installata. Esegui `/install-github-app` di nuovo in seguito per completare i passaggi del flusso di lavoro e del secret. Prima della v2.1.187, Claude Code procedeva direttamente alla selezione del flusso di lavoro.
50 54
51<Note>55<Note>
52 * Devi essere un amministratore del repository per installare l'app GitHub e aggiungere secret56 * Quando installi l'app GitHub, le concedi diverse autorizzazioni. Vedi [Autorizzazioni dell'app GitHub](#github-app-permissions) per l'insieme completo
53 * L'app GitHub richiederà autorizzazioni di lettura e scrittura per Contents, Issues e Pull requests57 * Lo setup rapido funziona con l'API Claude e le sottoscrizioni Claude. Se usi Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry, vedi [Usa Claude Code GitHub Actions con provider cloud](/docs/it/github-actions-cloud-providers)
54 * Questo metodo di avvio rapido è disponibile solo per gli utenti diretti dell'API Claude. Se stai utilizzando Amazon Bedrock o Google Cloud's Agent Platform, consulta la sezione [Utilizzo con Amazon Bedrock e Google Cloud](#using-with-amazon-bedrock-and-google-cloud).
55</Note>58</Note>
56 59
57<h2 id="manual-setup">60<h3 id="manual-setup">
58 Configurazione manuale61 Setup manuale
59</h2>62</h3>
60 63
61Se il comando `/install-github-app` non riesce o preferisci una configurazione manuale, segui queste istruzioni di configurazione manuale:64Per configurare il Claude Code GitHub Action senza eseguire `/install-github-app`, installa l'app, aggiungi un secret e copia un file di flusso di lavoro da solo:
65
66<Steps>
67 <Step title="Installa l'app GitHub di Claude">
68 Installa l'[app GitHub di Claude](https://github.com/apps/claude) nel tuo repository. Il Claude Code GitHub Action si basa su tre delle autorizzazioni dell'app:
69
70 * **Contents**: lettura e scrittura, in modo che Claude possa modificare i file del repository
71 * **Issues**: lettura e scrittura, in modo che Claude possa rispondere ai problemi
72 * **Pull requests**: lettura e scrittura, in modo che Claude possa creare PR e spingere modifiche
73
74 Durante l'installazione, concedi anche autorizzazioni che altre funzionalità Claude usano. Vedi [Autorizzazioni dell'app GitHub](#github-app-permissions) per l'insieme completo.
75 </Step>
62 76
631. **Installa l'app GitHub di Claude** nel tuo repository: [https://github.com/apps/claude](https://github.com/apps/claude)77 <Step title="Aggiungi un secret di autenticazione">
78 Aggiungi uno dei seguenti secret al tuo repository, a seconda di come ti autentichi. Vedi la guida di GitHub su [utilizzo dei secret in GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).
64 79
65 L'app GitHub di Claude richiede le seguenti autorizzazioni del repository:80 * `ANTHROPIC_API_KEY`: una chiave API Claude dalla [Claude Console](https://platform.claude.com)
81 * `CLAUDE_CODE_OAUTH_TOKEN`: un token OAuth che si autentica con la tua sottoscrizione Claude, disponibile su piani Pro, Max, Team ed Enterprise. Generane uno eseguendo `claude setup-token` localmente. Vedi [Genera un token di lunga durata](/docs/it/authentication#generate-a-long-lived-token)
66 82
67 * **Contents**: Lettura e scrittura (per modificare i file del repository)83 Nei file di flusso di lavoro, passa il secret all'input corrispondente: `anthropic_api_key` per una chiave API, o `claude_code_oauth_token` per un token OAuth.
68 * **Issues**: Lettura e scrittura (per rispondere agli issue)84 </Step>
69 * **Pull requests**: Lettura e scrittura (per creare PR e spingere i cambiamenti)
70 85
71 Per ulteriori dettagli sulla sicurezza e le autorizzazioni, vedi la [documentazione sulla sicurezza](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).86 <Step title="Copia il file del flusso di lavoro">
722. **Aggiungi ANTHROPIC\_API\_KEY** ai tuoi secret del repository ([Scopri come utilizzare i secret in GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions))87 Copia [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) nella directory `.github/workflows/` del tuo repository. Il file è un flusso di lavoro funzionante, non solo un esempio. Come archiviato, Claude risponde ogni volta che qualcuno menziona `@claude` in un issue o pull request, autenticandosi con il secret `ANTHROPIC_API_KEY`. Se hai aggiunto `CLAUDE_CODE_OAUTH_TOKEN` invece, cambia la riga `anthropic_api_key` del flusso di lavoro in `claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`.
733. **Copia il file del flusso di lavoro** da [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) nella cartella `.github/workflows/` del tuo repository88 </Step>
89</Steps>
74 90
75<Tip>91<Tip>
76 Dopo aver completato la configurazione rapida o manuale, testa l'action taggando `@claude` in un commento di issue o PR.92 Dopo la configurazione, testa il Claude Code GitHub Action taggando `@claude` in un commento di issue o PR.
77</Tip>93</Tip>
78 94
79<h2 id="upgrading-from-beta">95<h3 id="set-up-for-an-organization">
80 Aggiornamento dalla versione Beta96 Configura per un'organizzazione
81</h2>97</h3>
82 98
83<Warning>99Con lo setup rapido o lo setup manuale, configuri un repository alla volta. Per implementare il Claude Code GitHub Action in un'organizzazione:
84 Claude Code GitHub Actions v1.0 introduce breaking changes che richiedono l'aggiornamento dei tuoi file di flusso di lavoro per eseguire l'upgrade a v1.0 dalla versione beta.
85</Warning>
86 100
87Se stai attualmente utilizzando la versione beta di Claude Code GitHub Actions, ti consigliamo di aggiornare i tuoi flussi di lavoro per utilizzare la versione GA. La nuova versione semplifica la configurazione aggiungendo potenti nuove funzionalità come il rilevamento automatico della modalità.101* Installa l'[app GitHub di Claude](https://github.com/apps/claude) una volta a livello di organizzazione, scegliendo tutti i repository o un elenco selezionato
102* Archivia il secret di autenticazione come secret di Actions a livello di organizzazione in modo che ogni repository non abbia bisogno della sua copia
103* Aggiungi il file di flusso di lavoro a ogni repository che dovrebbe eseguire il Claude Code GitHub Action, o definisci il job una volta come [flusso di lavoro riutilizzabile](https://docs.github.com/en/actions/using-workflows/reusing-workflows) che ogni repository chiama
88 104
89<h3 id="essential-changes">105Per un secret condiviso tra repository, autenticati con una chiave API dalla [Claude Console](https://platform.claude.com) piuttosto che un token OAuth, poiché un token OAuth è legato alla sottoscrizione della persona che ha eseguito `claude setup-token`.
90 Cambiamenti essenziali106
91</h3>107Per evitare di archiviare un secret di lunga durata del tutto, autenticati tramite workload identity federation, dove il Claude Code GitHub Action scambia il token GitHub OpenID Connect (OIDC) del flusso di lavoro per l'accesso all'API Claude tramite un account di servizio della Claude Console. Imposta questi input:
92 108
93Tutti gli utenti beta devono apportare questi cambiamenti ai loro file di flusso di lavoro per eseguire l'upgrade:109* `anthropic_federation_rule_id`: l'ID della regola di federazione, `fdrl_...`
110* `anthropic_organization_id`: il tuo ID organizzazione Anthropic
111* `anthropic_service_account_id`: l'ID dell'account di servizio, `svac_...`. Opzionale, poiché la regola di federazione che crei nella Console già mira a un account di servizio
112* `anthropic_workspace_id`: l'ID dell'area di lavoro, `wrkspc_...`. Opzionale quando la regola di federazione mira a un'unica area di lavoro
94 113
951. **Aggiorna la versione dell'action**: Cambia `@beta` a `@v1`114Concedi al flusso di lavoro il permesso `id-token: write`, che il Claude Code GitHub Action necessita per lo scambio di federazione anche quando passi il tuo `github_token`. Vedi la [guida di configurazione del Claude Code GitHub Action](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md) per la configurazione lato Console.
962. **Rimuovi la configurazione della modalità**: Elimina `mode: "tag"` o `mode: "agent"` (ora rilevata automaticamente)
973. **Aggiorna gli input del prompt**: Sostituisci `direct_prompt` con `prompt`
984. **Sposta le opzioni CLI**: Converti `max_turns`, `model`, `custom_instructions`, ecc. in `claude_args`
99 115
100<h3 id="breaking-changes-reference">116Per domande sulla gestione dei dati e la conservazione in una revisione della sicurezza, vedi [utilizzo dei dati](/docs/it/data-usage) e [sicurezza](/docs/it/security).
101 Breaking Changes Reference117
118<h3 id="uninstall">
119 Disinstalla
102</h3>120</h3>
103 121
104| Old Beta Input | New v1.0 Input |122Per rimuovere il Claude Code GitHub Action, annulla ogni pezzo della configurazione che si applica alla tua installazione:
105| --------------------- | ------------------------------------- |123
106| `mode` | *(Removed - auto-detected)* |124* **File di flusso di lavoro**: elimina i flussi di lavoro che usano `anthropics/claude-code-action` da `.github/workflows/`. Se hai usato lo setup rapido, cerca `claude.yml` e, se hai selezionato il flusso di lavoro di revisione, `claude-code-review.yml`. Con i flussi di lavoro eliminati, il Claude Code GitHub Action non viene più eseguito
107| `direct_prompt` | `prompt` |125* **Secret**: elimina il secret `ANTHROPIC_API_KEY` o `CLAUDE_CODE_OAUTH_TOKEN` dal repository e dai secret di Actions a livello di organizzazione se l'hai [condiviso tra repository](#set-up-for-an-organization). Se elimini un secret, le credenziali che conteneva rimangono valide. Per ritirare completamente una chiave API, elimina anche la chiave nella [Claude Console](https://platform.claude.com)
108| `override_prompt` | `prompt` with GitHub variables |126* **App GitHub**: disinstalla l'app GitHub di Claude nelle impostazioni del tuo repository o organizzazione sotto GitHub Apps, ma solo se non la usi per un'altra funzionalità Claude, come Code Review o web auto-fix
109| `custom_instructions` | `claude_args: --append-system-prompt` |127
110| `max_turns` | `claude_args: --max-turns` |128Se hai configurato un [provider cloud](/docs/it/github-actions-cloud-providers), elimina anche i secret del provider, come `AWS_ROLE_TO_ASSUME`, i secret `GCP_*` o i secret `AZURE_*`, e disinstalla l'app GitHub personalizzata insieme ai suoi secret `APP_ID` e `APP_PRIVATE_KEY`.
111| `model` | `claude_args: --model` |129
112| `allowed_tools` | `claude_args: --allowedTools` |130<h3 id="github-app-permissions">
113| `disallowed_tools` | `claude_args: --disallowedTools` |131 Autorizzazioni dell'app GitHub
114| `claude_env` | `settings` JSON format |
115
116<h3 id="before-and-after-example">
117 Esempio Prima e Dopo
118</h3>132</h3>
119 133
120**Versione beta:**134L'[app GitHub di Claude](https://github.com/apps/claude) è condivisa da ogni funzionalità Claude che si integra con GitHub, incluso il Claude Code GitHub Action, [Code Review](/docs/it/code-review) e [auto-fix per pull request](/docs/it/claude-code-on-the-web#auto-fix-pull-requests) su Claude Code sul web. Un'app GitHub ha un singolo set di autorizzazioni che copre tutte le sue funzionalità, quindi l'insieme include alcune autorizzazioni che il Claude Code GitHub Action non usa.
121 135
122```yaml theme={null}136Quando installi l'app, concedi le seguenti autorizzazioni:
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 137
133**Versione GA (v1.0):**138| Autorizzazione | Accesso |
139| ---------------- | ------------------- |
140| Actions | Lettura e scrittura |
141| Checks | Lettura e scrittura |
142| Contents | Lettura e scrittura |
143| Discussions | Lettura e scrittura |
144| Issues | Lettura e scrittura |
145| Members | Lettura |
146| Metadata | Lettura |
147| Pull requests | Lettura e scrittura |
148| Repository hooks | Lettura e scrittura |
149| Statuses | Lettura |
150| Workflows | Lettura e scrittura |
134 151
135```yaml theme={null}152L'insieme di autorizzazioni può anche cambiare prima delle funzionalità che lo usano. Quando l'app richiede un'autorizzazione che non aveva prima, GitHub chiede al proprietario dell'account di approvarla, a un proprietario dell'organizzazione per un'installazione dell'organizzazione, e l'installazione mantiene le sue vecchie autorizzazioni finché non lo fanno. Ad esempio, quando l'accesso di Actions cambia da lettura a scrittura, l'app può rieseguire i flussi di lavoro piuttosto che solo visualizzare esecuzioni e log, quindi GitHub chiede al proprietario di approvare il cambiamento.
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 153
146<Tip>154Quando installi l'app, accetti il suo set di autorizzazioni completo. GitHub non ti consente di accettare un sottoinsieme. Se la tua organizzazione richiede solo le autorizzazioni che il Claude Code GitHub Action usa, crea un'app GitHub personalizzata con Contents, Issues e Pull requests invece, seguendo la [guida di configurazione del Claude Code GitHub Action](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md). Un'app personalizzata copre solo il Claude Code GitHub Action. Code Review e web auto-fix richiedono ancora l'app ufficiale.
147 L'action ora rileva automaticamente se eseguire in modalità interattiva (risponde alle menzioni `@claude`) o in modalità automazione (viene eseguita immediatamente con un prompt) in base alla tua configurazione.155
148</Tip>156Per dettagli su come il Claude Code GitHub Action limita ciò che Claude può fare con queste autorizzazioni, vedi la [documentazione sulla sicurezza](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).
157
158<h2 id="interactive-and-automation-modes">
159 Modalità interattiva e automazione
160</h2>
161
162Il Claude Code GitHub Action rileva come eseguire dalla tua configurazione del flusso di lavoro:
163
164* **Modalità interattiva**: quando il flusso di lavoro non fornisce alcun input `prompt`, Claude attende la frase trigger, `@claude` per impostazione predefinita, in un commento di issue o pull request, in una revisione di pull request o nel corpo o titolo di un issue appena aperto, quindi risponde a quella richiesta. L'avanzamento e i risultati appaiono come commento sull'issue o PR che ha attivato.
165* **Modalità automazione**: quando il flusso di lavoro fornisce un input `prompt`, Claude viene eseguito senza attendere una menzione, soggetto solo ai [controlli su chi può attivare le esecuzioni](#who-can-trigger-runs). Per impostazione predefinita, i risultati appaiono nel log di esecuzione del flusso di lavoro piuttosto che in un commento. Claude può pubblicare sull'issue o pull request quando il prompt lo dirige e ha uno strumento che può pubblicare, come nell'[esempio di code-review](#run-a-skill).
166
167<h3 id="who-can-trigger-runs">
168 Chi può attivare le esecuzioni
169</h3>
170
171In entrambe le modalità, il Claude Code GitHub Action esegue due controlli sull'attore che attiva prima che Claude inizi, e l'esecuzione fallisce quando uno dei due controlli lo rifiuta:
172
173* **Accesso in scrittura**: su eventi di issue e pull request, l'utente che attiva deve avere accesso in scrittura al repository. Per consentire utenti specifici senza accesso in scrittura, imposta `allowed_non_write_users` e passa il tuo input `github_token`. Gli eventi che nessun utente crea, come un trigger `schedule`, saltano questo controllo.
174* **Attore umano**: su ogni evento, il Claude Code GitHub Action rifiuta un attore bot a meno che non lo elenchi in `allowed_bots`, che impedisce ai bot di attivare Claude in un ciclo. Questo controllo si applica anche alle esecuzioni programmate, che GitHub attribuisce a un utente del repository, di solito quello che ha modificato per ultimo il programma `cron` del flusso di lavoro. Se quell'utente è un bot, elencalo in `allowed_bots`.
149 175
150<h2 id="example-use-cases">176<h2 id="example-use-cases">
151 Esempi di casi d'uso177 Casi d'uso di esempio
152</h2>178</h2>
153 179
154Claude Code GitHub Actions può aiutarti con una varietà di attività. La [directory degli esempi](https://github.com/anthropics/claude-code-action/tree/main/examples) contiene flussi di lavoro pronti all'uso per diversi scenari.180La [directory degli esempi](https://github.com/anthropics/claude-code-action/tree/main/examples) contiene flussi di lavoro pronti all'uso per diversi scenari.
181
182Gli esempi in questa pagina mostrano l'autenticazione con chiave API. Se ti autentichi con una sottoscrizione Claude, sostituisci la riga `anthropic_api_key` in qualsiasi esempio con `claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`.
155 183
156<h3 id="basic-workflow">184<h3 id="respond-to-claude-mentions">
157 Flusso di lavoro di base185 Rispondi alle menzioni @claude
158</h3>186</h3>
159 187
188Questo flusso di lavoro esegue il Claude Code GitHub Action in modalità interattiva, in modo che Claude risponda ogni volta che qualcuno menziona `@claude` in un commento di issue o PR.
189
160```yaml theme={null}190```yaml theme={null}
161name: Claude Code191name: Claude Code
162on:192on:
166 types: [created]196 types: [created]
167jobs:197jobs:
168 claude:198 claude:
199 if: contains(github.event.comment.body, '@claude')
169 runs-on: ubuntu-latest200 runs-on: ubuntu-latest
201 permissions:
202 contents: write
203 pull-requests: write
204 issues: write
205 id-token: write
206 actions: read
170 steps:207 steps:
208 - uses: actions/checkout@v6
209 with:
210 fetch-depth: 1
171 - uses: anthropics/claude-code-action@v1211 - uses: anthropics/claude-code-action@v1
172 with:212 with:
173 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}213 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
174 # Responds to @claude mentions in comments
175```214```
176 215
177<h3 id="using-skills">216Le parti di questo flusso di lavoro che non sono boilerplate:
178 Utilizzo di skills217
218* `id-token: write`: richiesto per l'autenticazione dell'app GitHub predefinita del Claude Code GitHub Action
219* `actions: read`: consente a Claude di leggere i risultati CI su PR
220* `actions/checkout`: fornisce a Claude una copia locale del repository su cui lavorare
221* `if`: impedisce ai runner di avviarsi su commenti che non menzionano `@claude`. Il Claude Code GitHub Action controlla anche la frase trigger stessa prima di rispondere
222
223Una volta che il flusso di lavoro è in atto, menziona `@claude` in qualsiasi commento di issue o PR con una richiesta:
224
225```text wrap theme={null}
226@claude implement this feature based on the issue description
227@claude how should I implement user authentication for this endpoint?
228@claude fix the TypeError in the user dashboard component
229```
230
231Claude risponde in un commento sullo stesso issue o PR e lo aggiorna mentre lavora.
232
233<h3 id="run-a-skill">
234 Esegui una skill
179</h3>235</h3>
180 236
181L'input `prompt` accetta un'invocazione di [skill](/it/skills) così come testo semplice:237L'input `prompt` accetta un'invocazione di [skill](/docs/it/skills) così come testo semplice:
182 238
183* Per una skill nella directory `.claude/skills/` del vostro repository, eseguite `actions/checkout` prima del passo dell'azione e passate `/skill-name`.239* Per una skill nella directory `.claude/skills/` del tuo repository, esegui `actions/checkout` prima del passo `anthropics/claude-code-action` in modo che i file della skill siano disponibili sul runner, quindi passa `/skill-name` come `prompt`.
184* Per una skill inclusa in un plugin, installate il plugin con gli input `plugin_marketplaces` e `plugins` e passate lo `/plugin-name:skill-name` con namespace.240* Per una skill inclusa in un [plugin](/docs/it/plugins), installa il plugin con gli input `plugin_marketplaces` e `plugins`, quindi passa lo `/plugin-name:skill-name` con namespace come `prompt`. L'input `plugins` accetta `plugin-name@marketplace-name`, dove il nome del marketplace proviene dal manifesto del marketplace stesso piuttosto che dall'URL del suo repository.
185 241
186Il seguente flusso di lavoro installa il plugin `code-review` ed esegue la sua skill su ogni pull request nuova o aggiornata:242Il seguente flusso di lavoro installa il plugin `code-review` ed esegue la sua skill quando una pull request viene aperta, aggiornata, riaperta o contrassegnata come pronta per la revisione. Esegue lo stesso plugin del flusso di lavoro di revisione dallo setup rapido. Usa un flusso di lavoro come questo quando vuoi controllare il prompt, il modello e i trigger da solo. Per revisioni automatiche senza mantenere un file di flusso di lavoro, vedi [Code Review](/docs/it/code-review). Su repository pubblici, GitHub trattiene i secret dalle esecuzioni attivate da pull request di fork, quindi la revisione viene eseguita solo su pull request da rami nello stesso repository.
187 243
188```yaml theme={null}244```yaml theme={null}
189name: Code Review245name: Code Review
190on:246on:
191 pull_request:247 pull_request:
192 types: [opened, synchronize]248 types: [opened, synchronize, ready_for_review, reopened]
193jobs:249jobs:
194 review:250 review:
195 runs-on: ubuntu-latest251 runs-on: ubuntu-latest
252 permissions:
253 contents: read
254 pull-requests: read
255 issues: read
256 id-token: write
196 steps:257 steps:
258 - uses: actions/checkout@v6
259 with:
260 fetch-depth: 1
197 - uses: anthropics/claude-code-action@v1261 - uses: anthropics/claude-code-action@v1
198 with:262 with:
199 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}263 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
200 plugin_marketplaces: "https://github.com/anthropics/claude-code.git"264 plugin_marketplaces: "https://github.com/anthropics/claude-code.git"
201 plugins: "code-review@claude-code-plugins"265 plugins: "code-review@claude-code-plugins"
202 prompt: "/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"266 prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"
267 claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'
203```268```
204 269
205<h3 id="custom-automation-with-prompts">270Due righe in questo flusso di lavoro controllano dove va la revisione:
206 Automazione personalizzata con prompt271
272* **`--comment`**: Claude pubblica la sua revisione sulla pull request, come commento inline su ogni problema che trova o come un commento di riepilogo quando non ne trova nessuno. Senza di esso, Claude non pubblica nulla e leggi i risultati nel log di esecuzione del flusso di lavoro.
273* **`claude_args`**: mantieni questa riga anche se il frontmatter `allowed-tools` della skill stessa nomina lo stesso strumento, perché il Claude Code GitHub Action avvia il server MCP che pubblica commenti inline solo quando `--allowedTools` in `claude_args` lo nomina.
274
275Claude salta le pull request in bozza e chiuse, le pull request che giudica non aver bisogno di una revisione, come quelle automatizzate o banali, e le pull request che hanno già un commento da Claude.
276
277<h3 id="run-on-a-schedule">
278 Esegui su una pianificazione
207</h3>279</h3>
208 280
281Con un input `prompt`, il Claude Code GitHub Action viene eseguito in modalità automazione su qualsiasi evento GitHub, inclusa una pianificazione cron. Per un prompt in testo semplice, Claude non ha accesso a shell o API GitHub finché non concedi gli strumenti che il prompt necessita, con `--allowedTools` in `claude_args` o una regola [`permissions.allow`](/docs/it/permissions#permission-rule-syntax) nell'input `settings`. Se invochi una skill invece, Claude può usare gli strumenti che il suo frontmatter [`allowed-tools`](/docs/it/skills#pre-approve-tools-for-a-skill) concede. GitHub esegue i flussi di lavoro pianificati solo dal ramo predefinito e, nei repository pubblici, disabilita la pianificazione dopo 60 giorni senza attività del repository.
282
283Questo flusso di lavoro genera un rapporto nel log di esecuzione del flusso di lavoro alle 09:00 UTC ogni giorno. La sua riga `claude_args` [passa argomenti CLI](#pass-cli-arguments) che selezionano il modello e consentono due strumenti MCP GitHub. Claude legge commit e issue tramite l'API GitHub con quegli strumenti, quindi puoi omettere il passo di checkout:
284
209```yaml theme={null}285```yaml theme={null}
210name: Daily Report286name: Daily Report
211on:287on:
214jobs:290jobs:
215 report:291 report:
216 runs-on: ubuntu-latest292 runs-on: ubuntu-latest
293 permissions:
294 contents: read
295 issues: read
296 id-token: write
217 steps:297 steps:
218 - uses: anthropics/claude-code-action@v1298 - uses: anthropics/claude-code-action@v1
219 with:299 with:
220 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}300 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
221 prompt: "Generate a summary of yesterday's commits and open issues"301 prompt: "Generate a summary of yesterday's commits and open issues"
222 claude_args: "--model opus"302 claude_args: |
223```303 --model claude-opus-4-8
224 304 --allowedTools "mcp__github__list_commits,mcp__github__list_issues"
225<h3 id="common-use-cases">
226 Casi d'uso comuni
227</h3>
228
229Nei commenti di issue o 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```305```
236 306
237Claude analizzerà automaticamente il contesto e risponderà in modo appropriato.
238
239<h2 id="best-practices">307<h2 id="best-practices">
240 Best practices308 Best practice
241</h2>309</h2>
242 310
243<h3 id="claude-md-configuration">311<h3 id="define-project-standards-in-claude-md">
244 Configurazione CLAUDE.md312 Definisci gli standard del progetto in CLAUDE.md
245</h3>313</h3>
246 314
247Crea un file `CLAUDE.md` nella radice del tuo repository per definire le linee guida dello stile di codice, i criteri di revisione, le regole specifiche del progetto e i pattern preferiti. Questo file guida la comprensione di Claude degli standard del tuo progetto.315Crea un file `CLAUDE.md` nella radice del tuo repository per definire linee guida di stile del codice, criteri di revisione, regole specifiche del progetto e pattern preferiti. Claude segue queste linee guida quando crea PR e risponde alle richieste. Vedi la [documentazione sulla memoria](/docs/it/memory) per i dettagli.
248 316
249<h3 id="security-considerations">317<h3 id="protect-your-credentials">
250 Considerazioni sulla sicurezza318 Proteggi le tue credenziali
251</h3>319</h3>
252 320
253<Warning>Non eseguire mai il commit delle chiavi API direttamente nel tuo repository.</Warning>321<Warning>
254 322 Non eseguire mai il commit di chiavi API o token OAuth direttamente nel tuo repository. Archivia sempre i secret di GitHub e fai riferimento ad essi nei flussi di lavoro, ad esempio `anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}`.
255Per una guida completa sulla sicurezza inclusa autorizzazioni, autenticazione e best practices, vedi la [documentazione sulla sicurezza di Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).323</Warning>
256
257Utilizza sempre GitHub Secrets per le chiavi API:
258
259* Aggiungi la tua chiave API come secret del repository denominato `ANTHROPIC_API_KEY`
260* Fai riferimento ad essa nei flussi di lavoro: `anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}`
261* Limita le autorizzazioni dell'action solo a ciò che è necessario
262* Rivedi i suggerimenti di Claude prima di eseguire il merge
263
264Utilizza sempre GitHub Secrets (ad esempio, `${{ secrets.ANTHROPIC_API_KEY }}`) piuttosto che hardcodare le chiavi API direttamente nei tuoi file di flusso di lavoro.
265 324
266<h3 id="optimizing-performance">325Concedi al flusso di lavoro solo le autorizzazioni di cui ha bisogno e rivedi le modifiche di Claude prima di unire.
267 Ottimizzazione delle prestazioni
268</h3>
269 326
270Utilizza i template di issue per fornire contesto, mantieni il tuo `CLAUDE.md` conciso e focalizzato, e configura timeout appropriati per i tuoi flussi di lavoro.327Per una guida completa sulla sicurezza inclusa autorizzazioni e autenticazione, vedi la [documentazione sulla sicurezza di Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).
271 328
272<h3 id="ci-costs">329<h3 id="manage-costs">
273 Costi CI330 Gestisci i costi
274</h3>331</h3>
275 332
276Quando utilizzi Claude Code GitHub Actions, tieni presente i costi associati:333Ogni esecuzione consuma due tipi di risorse:
277
278**Costi di GitHub Actions:**
279
280* Claude Code viene eseguito su runner ospitati da GitHub, che consumano i tuoi minuti di GitHub Actions
281* Vedi la [documentazione sulla fatturazione di GitHub](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions) per i dettagli sui prezzi e i limiti di minuti
282 334
283**Costi API:**335* **Minuti di GitHub Actions**: il Claude Code GitHub Action viene eseguito su runner ospitati da GitHub, che consumano i tuoi minuti di GitHub Actions. Vedi la [documentazione sulla fatturazione di GitHub](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions) per i prezzi e i limiti di minuti.
336* **Token API**: ogni interazione consuma token in base alla lunghezza dei prompt e delle risposte, alla complessità dell'attività e alla dimensione della codebase. Vedi la [pagina dei prezzi di Claude](https://claude.com/platform/api) per i tassi di token attuali. Se ti autentichi con un token OAuth, le esecuzioni usano la tua sottoscrizione Claude invece della fatturazione API.
284 337
285* Ogni interazione di Claude consuma token API in base alla lunghezza dei prompt e delle risposte338Puoi abbassare entrambi i tipi di costo fornendo a Claude un contesto più chiaro e limitando quanto lavoro ogni esecuzione può fare:
286* L'utilizzo dei token varia in base alla complessità dell'attività e alla dimensione della codebase
287* Vedi la [pagina dei prezzi di Claude](https://claude.com/platform/api) per i tassi di token attuali
288 339
289**Suggerimenti per l'ottimizzazione dei costi:**340* Scrivi richieste specifiche `@claude` in modo che Claude abbia bisogno di meno turni per finire
290 341* Usa template di issue per fornire contesto in anticipo
291* Utilizza comandi specifici `@claude` per ridurre le chiamate API non necessarie342* Mantieni il tuo `CLAUDE.md` conciso, poiché Claude lo legge su ogni esecuzione
292* Configura `--max-turns` appropriato in `claude_args` per prevenire iterazioni eccessive343* Imposta `--max-turns` in `claude_args` per limitare le iterazioni
293* Imposta timeout a livello di flusso di lavoro per evitare job fuori controllo344* Imposta timeout a livello di flusso di lavoro per evitare job fuori controllo
294* Considera l'utilizzo dei controlli di concorrenza di GitHub per limitare le esecuzioni parallele345* Usa i controlli di concorrenza di GitHub per limitare le esecuzioni parallele
295
296<h2 id="configuration-examples">
297 Esempi di configurazione
298</h2>
299
300Claude Code Action v1 semplifica la configurazione con parametri unificati:
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 346
310Caratteristiche principali:347Per il tracciamento dell'utilizzo in tutta la tua organizzazione, vedi il [dashboard di analisi](/docs/it/analytics) e il [monitoraggio](/docs/it/monitoring-usage). Per come viene misurato e fatturato l'utilizzo, vedi [costi](/docs/it/costs).
311 348
312* **Interfaccia prompt unificata** - Utilizza `prompt` per tutte le istruzioni349<h2 id="use-a-cloud-provider">
313* **Skills** - Richiama [skills](/it/skills) installate direttamente dal prompt350 Usa un provider cloud
314* **Passthrough CLI** - Qualsiasi argomento CLI di Claude Code tramite `claude_args`
315* **Trigger flessibili** - Funziona con qualsiasi evento GitHub
316
317Visita la [directory degli esempi](https://github.com/anthropics/claude-code-action/tree/main/examples) per i file di flusso di lavoro completi.
318
319<Tip>
320 Quando rispondi ai commenti di issue o PR, Claude risponde automaticamente alle menzioni @claude. Per altri eventi, utilizza il parametro `prompt` per fornire istruzioni.
321</Tip>
322
323<h2 id="using-with-amazon-bedrock-and-google-cloud">
324 Utilizzo con Amazon Bedrock e Google Cloud
325</h2>351</h2>
326 352
327Per ambienti aziendali, puoi utilizzare Claude Code GitHub Actions con la tua infrastruttura cloud. Questo approccio ti dà il controllo sulla residenza dei dati e sulla fatturazione mantenendo la stessa funzionalità.353Per impostazione predefinita, il Claude Code GitHub Action chiama direttamente l'API Claude con la tua chiave API o token OAuth. Per instradare l'inferenza attraverso il tuo account cloud invece, imposta l'input per il tuo provider e segui [Usa Claude Code GitHub Actions con provider cloud](/docs/it/github-actions-cloud-providers):
328
329<h3 id="prerequisites">
330 Prerequisiti
331</h3>
332
333Prima di configurare Claude Code GitHub Actions con i provider cloud, hai bisogno di:
334
335<h4 id="for-google-cloud’s-agent-platform">
336 Per Google Cloud's Agent Platform:
337</h4>
338
3391. Un progetto Google Cloud con Google Cloud's Agent Platform abilitato
3402. Workload Identity Federation configurato per GitHub Actions
3413. Un account di servizio con le autorizzazioni richieste
3424. Un'app GitHub (consigliato) o utilizza il GITHUB\_TOKEN predefinito
343
344<h4 id="for-amazon-bedrock">
345 Per Amazon Bedrock:
346</h4>
347
3481. Un account AWS con Amazon Bedrock abilitato
3492. GitHub OIDC Identity Provider configurato in AWS
3503. Un ruolo IAM con autorizzazioni Amazon Bedrock
3514. Un'app GitHub (consigliato) o utilizza il GITHUB\_TOKEN predefinito
352
353<Steps>
354 <Step title="Crea un'app GitHub personalizzata (Consigliato per provider di terze parti)">
355 Per il miglior controllo e sicurezza quando utilizzi provider di terze parti come Google Cloud's Agent Platform o Amazon Bedrock, ti consigliamo di creare la tua app GitHub:
356
357 1. Vai a [https://github.com/settings/apps/new](https://github.com/settings/apps/new)
358 2. Compila le informazioni di base:
359 * **GitHub App name**: Scegli un nome univoco (ad es. "YourOrg Claude Assistant")
360 * **Homepage URL**: Il sito web della tua organizzazione o l'URL del repository
361 3. Configura le impostazioni dell'app:
362 * **Webhooks**: Deseleziona "Active" (non necessario per questa integrazione)
363 4. Imposta le autorizzazioni richieste:
364 * **Repository permissions**:
365 * Contents: Read & Write
366 * Issues: Read & Write
367 * Pull requests: Read & Write
368 5. Fai clic su "Create GitHub App"
369 6. Dopo la creazione, fai clic su "Generate a private key" e salva il file `.pem` scaricato
370 7. Annota il tuo App ID dalla pagina delle impostazioni dell'app
371 8. Installa l'app nel tuo repository:
372 * Dalla pagina delle impostazioni della tua app, fai clic su "Install App" nella barra laterale sinistra
373 * Seleziona il tuo account o organizzazione
374 * Scegli "Only select repositories" e seleziona il repository specifico
375 * Fai clic su "Install"
376 9. Aggiungi la chiave privata come secret al tuo repository:
377 * Vai a Settings → Secrets and variables → Actions del tuo repository
378 * Crea un nuovo secret denominato `APP_PRIVATE_KEY` con il contenuto del file `.pem`
379 10. Aggiungi l'App ID come secret:
380
381 * Crea un nuovo secret denominato `APP_ID` con l'ID della tua app GitHub
382
383 <Note>
384 Questa app verrà utilizzata con l'action [actions/create-github-app-token](https://github.com/actions/create-github-app-token) per generare token di autenticazione nei tuoi flussi di lavoro.
385 </Note>
386
387 **Alternativa per Claude API o se non vuoi configurare la tua app Github**: Utilizza l'app ufficiale di Anthropic:
388
389 1. Installa da: [https://github.com/apps/claude](https://github.com/apps/claude)
390 2. Nessuna configurazione aggiuntiva necessaria per l'autenticazione
391 </Step>
392
393 <Step title="Configura l'autenticazione del provider cloud">
394 Scegli il tuo provider cloud e configura l'autenticazione sicura:
395
396 <AccordionGroup>
397 <Accordion title="Amazon Bedrock">
398 **Configura AWS per consentire a GitHub Actions di autenticarsi in modo sicuro senza archiviare le credenziali.**
399
400 > **Security Note**: Utilizza configurazioni specifiche del repository e concedi solo le autorizzazioni minime richieste.
401
402 **Required Setup**:
403
404 1. **Enable Amazon Bedrock**:
405 * Richiedi l'accesso ai modelli Claude in Amazon Bedrock
406 * Per i modelli tra regioni, richiedi l'accesso in tutte le regioni richieste
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 Dopo la configurazione, avrai bisogno di:
421
422 * **AWS\_ROLE\_TO\_ASSUME**: L'ARN del ruolo IAM che hai creato
423
424 <Tip>
425 OIDC è più sicuro rispetto all'utilizzo di chiavi di accesso AWS statiche perché le credenziali sono temporanee e ruotate automaticamente.
426 </Tip>
427
428 Vedi la [documentazione AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html) per le istruzioni dettagliate sulla configurazione di OIDC.
429 </Accordion>
430
431 <Accordion title="Google Cloud's Agent Platform">
432 **Configura Google Cloud per consentire a GitHub Actions di autenticarsi in modo sicuro senza archiviare le credenziali.**
433 354
434 > **Security Note**: Utilizza configurazioni specifiche del repository e concedi solo le autorizzazioni minime richieste.355* **Amazon Bedrock**: `use_bedrock: "true"`
356* **Google Cloud's Agent Platform**: `use_vertex: "true"`
357* **Microsoft Foundry**: `use_foundry: "true"`
435 358
436 **Required Setup**:359Con tutti e tre i provider, ti autentichi tramite federazione di identità OIDC invece di una chiave API Claude, quindi non archivi credenziali cloud statiche nel tuo repository.
437
438 1. **Enable APIs** nel tuo progetto Google Cloud:
439 * IAM Credentials API
440 * Security Token Service (STS) API
441 * Google Cloud's Agent Platform API
442
443 2. **Create Workload Identity Federation resources**:
444 * Crea un Workload Identity Pool
445 * Aggiungi un provider OIDC GitHub con:
446 * Issuer: `https://token.actions.githubusercontent.com`
447 * Attribute mappings for repository and owner
448 * **Security recommendation**: Utilizza condizioni di attributo specifiche del repository
449
450 3. **Create a Service Account**:
451 * Concedi solo il ruolo `Vertex AI User`
452 * **Security recommendation**: Crea un account di servizio dedicato per repository
453
454 4. **Configure IAM bindings**:
455 * Consenti al Workload Identity Pool di rappresentare l'account di servizio
456 * **Security recommendation**: Utilizza set di principali specifici del repository
457
458 **Required Values**:
459
460 Dopo la configurazione, avrai bisogno di:
461
462 * **GCP\_WORKLOAD\_IDENTITY\_PROVIDER**: Il nome completo della risorsa provider
463 * **GCP\_SERVICE\_ACCOUNT**: L'indirizzo email dell'account di servizio
464
465 <Tip>
466 Workload Identity Federation elimina la necessità di chiavi di account di servizio scaricabili, migliorando la sicurezza.
467 </Tip>
468
469 Per le istruzioni di configurazione dettagliate, consulta la [documentazione di Google Cloud Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation).
470 </Accordion>
471 </AccordionGroup>
472 </Step>
473
474 <Step title="Aggiungi Secret Richiesti">
475 Aggiungi i seguenti secret al tuo repository (Settings → Secrets and variables → Actions):
476
477 #### Per Claude API (Direct):
478
479 1. **Per l'autenticazione API**:
480 * `ANTHROPIC_API_KEY`: La tua chiave API Claude da [console.anthropic.com](https://console.anthropic.com)
481
482 2. **Per GitHub App (se utilizzi la tua app)**:
483 * `APP_ID`: L'ID della tua app GitHub
484 * `APP_PRIVATE_KEY`: Il contenuto della chiave privata (.pem)
485
486 #### Per Google Cloud's Agent Platform
487
488 1. **Per l'autenticazione GCP**:
489 * `GCP_WORKLOAD_IDENTITY_PROVIDER`
490 * `GCP_SERVICE_ACCOUNT`
491
492 2. **Per GitHub App (se utilizzi la tua app)**:
493 * `APP_ID`: L'ID della tua app GitHub
494 * `APP_PRIVATE_KEY`: Il contenuto della chiave privata (.pem)
495
496 #### Per Amazon Bedrock
497
498 1. **Per l'autenticazione AWS**:
499 * `AWS_ROLE_TO_ASSUME`
500
501 2. **Per GitHub App (se utilizzi la tua app)**:
502 * `APP_ID`: L'ID della tua app GitHub
503 * `APP_PRIVATE_KEY`: Il contenuto della chiave privata (.pem)
504 </Step>
505
506 <Step title="Crea file di flusso di lavoro">
507 Crea file di flusso di lavoro GitHub Actions che si integrano con il tuo provider cloud. Gli esempi seguenti mostrano configurazioni complete sia per Amazon Bedrock che per Google Cloud's Agent Platform:
508
509 <AccordionGroup>
510 <Accordion title="Amazon Bedrock workflow">
511 **Prerequisites:**
512
513 * Amazon Bedrock access enabled with Claude model permissions
514 * GitHub configured as an OIDC identity provider in AWS
515 * IAM role with Amazon Bedrock permissions that trusts GitHub Actions
516
517 **Required GitHub secrets:**
518
519 | Secret Name | Description |
520 | -------------------- | ------------------------------------------------- |
521 | `AWS_ROLE_TO_ASSUME` | ARN of the IAM role for Amazon Bedrock access |
522 | `APP_ID` | Your GitHub App ID (from app settings) |
523 | `APP_PRIVATE_KEY` | The private key you generated for your GitHub App |
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 Il formato dell'ID del modello per Amazon Bedrock include un prefisso di regione (ad esempio, `us.anthropic.claude-sonnet-4-6`).
577 </Tip>
578 </Accordion>
579
580 <Accordion title="Google Cloud's Agent Platform workflow">
581 **Prerequisites:**
582
583 * Google Cloud's Agent Platform API enabled in your GCP project
584 * Workload Identity Federation configured for GitHub
585 * Service account with Google Cloud's Agent Platform permissions
586
587 **Required GitHub secrets:**
588
589 | Secret Name | Description |
590 | -------------------------------- | --------------------------------------------------------------- |
591 | `GCP_WORKLOAD_IDENTITY_PROVIDER` | Workload identity provider resource name |
592 | `GCP_SERVICE_ACCOUNT` | Service account email with Google Cloud's Agent Platform access |
593 | `APP_ID` | Your GitHub App ID (from app settings) |
594 | `APP_PRIVATE_KEY` | The private key you generated for your GitHub App |
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 L'ID del progetto viene recuperato automaticamente dal passaggio di autenticazione di Google Cloud, quindi non è necessario codificarlo.
652 </Tip>
653 </Accordion>
654 </AccordionGroup>
655 </Step>
656</Steps>
657 360
658<h2 id="troubleshooting">361<h2 id="troubleshooting">
659 Troubleshooting362 Troubleshooting
663 Claude non risponde ai comandi @claude366 Claude non risponde ai comandi @claude
664</h3>367</h3>
665 368
666Verifica che l'app GitHub sia installata correttamente, controlla che i flussi di lavoro siano abilitati, assicurati che la chiave API sia impostata nei secret del repository e conferma che il commento contenga `@claude` (non `/claude`).369* Verifica che l'app GitHub sia installata sul repository
370* Controlla che i flussi di lavoro siano abilitati per il repository
371* Assicurati che la tua chiave API o token OAuth sia impostato nei secret del repository
372* Conferma che il commento contenga `@claude` come parola completa, non `/claude` o `@claude-bot`
373* Conferma che l'utente che commenta ha accesso in scrittura al repository. Vedi [Chi può attivare le esecuzioni](#who-can-trigger-runs) per le eccezioni
667 374
668<h3 id="ci-not-running-on-claude’s-commits">375<h3 id="ci-not-running-on-claude’s-commits">
669 CI non in esecuzione sui commit di Claude376 CI non in esecuzione sui commit di Claude
670</h3>377</h3>
671 378
672Assicurati di utilizzare l'app GitHub o l'app personalizzata (non l'utente Actions), controlla che i trigger del flusso di lavoro includano gli eventi necessari e verifica che le autorizzazioni dell'app includano i trigger CI.379* GitHub non attiva i flussi di lavoro sui commit effettuati con il `GITHUB_TOKEN` predefinito. Se passi `github_token: ${{ secrets.GITHUB_TOKEN }}` al Claude Code GitHub Action, rimuovilo in modo che si autentichi come l'app GitHub di Claude, o passa un token di app personalizzato invece
380* Controlla che i trigger del flusso di lavoro CI includano gli eventi che i push di Claude producono, come `push` o `pull_request`
673 381
674<h3 id="authentication-errors">382<h3 id="authentication-errors">
675 Errori di autenticazione383 Errori di autenticazione
676</h3>384</h3>
677 385
678Conferma che la chiave API sia valida e abbia autorizzazioni sufficienti. Per Amazon Bedrock o Google Cloud's Agent Platform, controlla la configurazione delle credenziali e assicurati che i secret siano denominati correttamente nei flussi di lavoro.386* Conferma che la chiave API o il token OAuth sia valido testando localmente con `claude` prima di eseguire il debug del flusso di lavoro
387* Per Bedrock, Agent Platform e Foundry, vedi la [sezione troubleshooting](/docs/it/github-actions-cloud-providers#troubleshooting) della pagina del provider cloud
388
389Per altre soluzioni, vedi le [FAQ](https://github.com/anthropics/claude-code-action/blob/main/docs/faq.md) del Claude Code GitHub Action.
679 390
680<h2 id="advanced-configuration">391<h2 id="advanced-configuration">
681 Configurazione avanzata392 Configurazione avanzata
685 Parametri dell'action396 Parametri dell'action
686</h3>397</h3>
687 398
688Claude Code Action v1 utilizza una configurazione semplificata:399Questi sono gli input più comunemente usati. Ognuno corrisponde a una chiave `with:` nel passo `anthropics/claude-code-action`.
689 400
690| Parameter | Description | Required |401| Parametro | Descrizione | Richiesto |
691| --------------------- | ---------------------------------------------------------------------------------- | -------- |402| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
692| `prompt` | Istruzioni per Claude (testo semplice o un nome di [skill](/it/skills)) | No\* |403| `prompt` | Istruzioni per Claude, come testo semplice o un'invocazione di [skill](/docs/it/skills). Quando omesso, Claude risponde alla [frase trigger](#interactive-and-automation-modes) invece | No |
693| `claude_args` | Argomenti CLI passati a Claude Code | No |404| `claude_args` | Argomenti CLI passati a Claude Code | No |
405| `anthropic_api_key` | Chiave API Claude | Per l'API Claude, a meno che non usi `claude_code_oauth_token` o [federazione di identità del carico di lavoro](#set-up-for-an-organization). Non usato per Bedrock, Agent Platform o Foundry |
406| `claude_code_oauth_token` | Token OAuth per l'autenticazione con una sottoscrizione Claude, generato con `claude setup-token` | No |
407| `github_token` | Token per le operazioni GitHub. Quando omesso, il Claude Code GitHub Action si autentica come l'app GitHub di Claude | No |
694| `plugin_marketplaces` | Elenco separato da newline degli URL Git del marketplace dei plugin | No |408| `plugin_marketplaces` | Elenco separato da newline degli URL Git del marketplace dei plugin | No |
695| `plugins` | Elenco separato da newline dei nomi dei plugin da installare prima dell'esecuzione | No |409| `plugins` | Elenco separato da newline dei nomi dei plugin da installare prima dell'esecuzione | No |
696| `anthropic_api_key` | Chiave API Claude | Yes\*\* |410| `settings` | Impostazioni di Claude Code, come stringa JSON o percorso a un file JSON di impostazioni | No |
697| `github_token` | Token GitHub per l'accesso API | No |411| `trigger_phrase` | Frase trigger a cui Claude risponde. Predefinito: `@claude` | No |
698| `trigger_phrase` | Frase trigger personalizzata (predefinito: "@claude") | No |412| `use_bedrock` | Usa Amazon Bedrock invece dell'API Claude | No |
699| `use_bedrock` | Utilizza Amazon Bedrock invece dell'API Claude | No |413| `use_vertex` | Usa Google Cloud's Agent Platform invece dell'API Claude | No |
700| `use_vertex` | Utilizza Google Cloud's Agent Platform invece dell'API Claude | No |414| `use_foundry` | Usa Microsoft Foundry invece dell'API Claude | No |
701 415
702\*Prompt è opzionale - quando omesso per i commenti di issue/PR, Claude risponde alla frase trigger\416Per l'elenco completo degli input, vedi il [riferimento di configurazione](https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md#inputs) del Claude Code GitHub Action.
703\*\*Richiesto per l'API Claude diretta, non per Amazon Bedrock o Google Cloud's Agent Platform
704 417
705<h4 id="pass-cli-arguments">418<h3 id="pass-cli-arguments">
706 Passa argomenti CLI419 Passa argomenti CLI
707</h4>420</h3>
708 421
709Il parametro `claude_args` accetta qualsiasi argomento CLI di Claude Code:422Il parametro `claude_args` accetta qualsiasi [argomento CLI di Claude Code](/docs/it/cli-reference):
710 423
711```yaml theme={null}424```yaml theme={null}
712claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"425claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"
714 427
715Argomenti comuni:428Argomenti comuni:
716 429
717* `--max-turns`: Numero massimo di turni di conversazione (predefinito: 10)430* `--max-turns`: limita il numero di turni di conversazione
718* `--model`: Modello da utilizzare (ad es. `claude-sonnet-5`)431* `--model`: modello da usare, ad esempio `claude-sonnet-5`. Senza questo argomento, il Claude Code GitHub Action usa il [modello predefinito](/docs/it/model-config) di Claude Code
719* `--mcp-config`: Percorso della configurazione MCP432* `--mcp-config`: percorso alla [configurazione MCP](/docs/it/mcp)
720* `--allowedTools`: Elenco separato da virgole degli strumenti consentiti. L'alias `--allowed-tools` funziona anche.433* `--allowedTools`: elenco separato da virgole degli strumenti consentiti. L'alias `--allowed-tools` funziona anche
721* `--debug`: Abilita l'output di debug434* `--debug`: abilita l'output di debug
722 435
723<h3 id="alternative-integration-methods">436<h2 id="upgrade-from-beta">
724 Metodi di integrazione alternativi437 Aggiorna dalla versione beta
725</h3>438</h2>
726
727Mentre il comando `/install-github-app` è l'approccio consigliato, potete anche:
728
729* **Custom GitHub App**: Per le organizzazioni che necessitano di nomi utente personalizzati o flussi di autenticazione personalizzati. Create la vostra app GitHub con le autorizzazioni richieste (contents, issues, pull requests) e utilizzate l'action actions/create-github-app-token per generare token nei vostri flussi di lavoro.
730* **Manual GitHub Actions**: Configurazione diretta del flusso di lavoro per la massima flessibilità
731* **MCP Configuration**: Caricamento dinamico dei server Model Context Protocol
732 439
733Consultate la [documentazione di Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs) per guide dettagliate su autenticazione, sicurezza e configurazione avanzata.440Se i tuoi flussi di lavoro fanno ancora riferimento a `anthropics/claude-code-action@beta`, aggiornali a v1:
734 441
735<h3 id="customizing-claude’s-behavior">4421. Cambia `@beta` a `@v1` nella riga `uses`
736 Personalizzazione del comportamento di Claude4432. Rimuovi l'input `mode`, poiché il Claude Code GitHub Action ora [rileva la modalità automaticamente](#interactive-and-automation-modes)
737</h3>4443. Sostituisci `direct_prompt` con `prompt`
4454. Sposta le opzioni CLI come `max_turns` e `model` in `claude_args`. `custom_instructions` non ha un flag con lo stesso nome e diventa `--append-system-prompt`
738 446
739Potete configurare il comportamento di Claude in due modi:447Per il mapping completo degli input e gli esempi prima e dopo, vedi la [guida di migrazione](https://github.com/anthropics/claude-code-action/blob/main/docs/migration-guide.md).
740 448
7411. **CLAUDE.md**: Definite gli standard di codifica, i criteri di revisione e le regole specifiche del progetto in un file `CLAUDE.md` nella radice del vostro repository. Claude seguirà queste linee guida quando crea PR e risponde alle richieste. Consultate la nostra [documentazione Memory](/it/memory) per ulteriori dettagli.449<h2 id="what’s-next">
7422. **Custom prompts**: Utilizzate il parametro `prompt` nel file del flusso di lavoro per fornire istruzioni specifiche del flusso di lavoro. Questo vi consente di personalizzare il comportamento di Claude per diversi flussi di lavoro o attività.450 Cosa c'è dopo
451</h2>
743 452
744Claude seguirà queste linee guida quando crea PR e risponde alle richieste.453* [Usa Claude Code GitHub Actions con provider cloud](/docs/it/github-actions-cloud-providers): instrada l'inferenza attraverso Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry
454* [Riferimento di configurazione](https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md#inputs): l'elenco completo degli input dell'action
455* [Directory degli esempi](https://github.com/anthropics/claude-code-action/tree/main/examples): flussi di lavoro pronti all'uso per più scenari
456* [Code Review](/docs/it/code-review): revisione automatica della pull request senza mantenere un file di flusso di lavoro