4 4
5# Claude Code GitHub Actions5# Claude Code GitHub Actions
6 6
7> Aprenda a integrar Claude Code en su flujo de trabajo de desarrollo con Claude Code GitHub Actions7> Ejecute Claude Code en flujos de trabajo de GitHub Actions para responder a menciones @claude, automatizar tareas y convertir problemas en solicitudes de extracción
8 8
9Claude Code GitHub Actions trae automatización impulsada por IA a su flujo de trabajo de GitHub. Con una simple mención `@claude` en cualquier PR o problema, Claude puede analizar su código, crear solicitudes de extracción, implementar características y corregir errores, todo mientras sigue los estándares de su proyecto. Para revisiones automáticas publicadas en cada PR sin un disparador, consulte [GitHub Code Review](/es/code-review).9[Claude Code GitHub Actions](https://github.com/anthropics/claude-code-action) es una GitHub Action que ejecuta Claude Code dentro de los flujos de trabajo de su repositorio. Mencione `@claude` en un comentario de solicitud de extracción o problema para que Claude analice código, implemente cambios e inserte confirmaciones. También puede darle a la GitHub Action de Claude Code un mensaje para que se ejecute automáticamente en cualquier evento de GitHub. Úselo para convertir problemas en solicitudes de extracción, corregir errores desde un comentario o automatizar tareas recurrentes.
10 10
11<Note>11Varios productos comparten el nombre Claude Code. Esta página cubre la integración de flujo de trabajo `claude-code-action`, que configura con archivos de flujo de trabajo en su repositorio. Para los productos relacionados, consulte:
12 Claude Code GitHub Actions se construye sobre el [Claude Agent SDK](/es/agent-sdk/overview), que permite la integración programática de Claude Code en sus aplicaciones. Puede usar el SDK para crear flujos de trabajo de automatización personalizados más allá de GitHub Actions.
13</Note>
14 12
15<h2 id="why-use-claude-code-github-actions">13* [Code Review](/docs/es/code-review): revisión automática en cada solicitud de extracción, sin escribir un flujo de trabajo
16 ¿Por qué usar Claude Code GitHub Actions?14* [Claude Code en la web](/docs/es/claude-code-on-the-web): sesiones de Claude Code desde su navegador o teléfono
15* [Claude Agent SDK](/docs/es/agent-sdk/overview): automatización personalizada fuera de GitHub Actions. La GitHub Action de Claude Code se construye sobre el SDK
16* [GitHub Enterprise Server](/docs/es/github-enterprise-server): Claude Code con GitHub autohospedado
17
18<h2 id="setup">
19 Configuración
17</h2>20</h2>
18 21
19* **Creación instantánea de PR**: Describa lo que necesita y Claude crea un PR completo con todos los cambios necesarios22Puede configurar la GitHub Action de Claude Code de una de dos formas:
20* **Implementación de código automatizada**: Convierta problemas en código funcional con un único comando
21* **Sigue sus estándares**: Claude respeta sus directrices `CLAUDE.md` y patrones de código existentes
22* **Configuración simple**: Comience en minutos con nuestro instalador y clave API
23* **Seguro por defecto**: Su código permanece en los ejecutores de Github
24 23
25<h2 id="what-can-claude-do">24* **Configuración rápida**: ejecute `/install-github-app` desde Claude Code. Claude Code instala la GitHub App, agrega su secreto de autenticación y prepara la solicitud de extracción del flujo de trabajo para usted
26 ¿Qué puede hacer Claude?25* **Configuración manual**: instale la aplicación, agregue el secreto y copie el archivo de flujo de trabajo en su repositorio usted mismo. Use esta ruta cuando no ejecute Claude Code localmente, cuando el comando falle o cuando desee control total de los archivos de flujo de trabajo
27</h2>
28 26
29Claude Code proporciona una poderosa GitHub Action que transforma la forma en que trabaja con código:27Para cualquiera de las rutas, necesita acceso de administrador al repositorio.
30 28
31<h3 id="claude-code-action">29<h3 id="quick-setup">
32 Claude Code Action30 Configuración rápida
33</h3>31</h3>
34 32
35Esta GitHub Action le permite ejecutar Claude Code dentro de sus flujos de trabajo de GitHub Actions. Puede usar esto para crear cualquier flujo de trabajo personalizado sobre Claude Code.33Antes de comenzar, instale la [GitHub CLI](https://cli.github.com) y auténtiquese con `gh auth login`. Claude Code la verifica y le advierte si falta.
36 34
37[Ver repositorio →](https://github.com/anthropics/claude-code-action)35Abra `claude` en el repositorio que desea conectar, ejecute `/install-github-app` y siga las indicaciones. Claude Code instala la GitHub App de Claude, luego configura un secreto de autenticación para los flujos de trabajo:
38 36
39<h2 id="setup">37* Si Claude Code ya tiene una clave API, reutiliza esa clave y ofrece mantener el secreto `ANTHROPIC_API_KEY` existente del repositorio si ya está configurado
40 Configuración38* De lo contrario, elija entre crear un token de larga duración con su suscripción de Claude y pegar una clave API
41</h2>
42 39
43<h2 id="quick-setup">40Claude Code guarda la credencial como un secreto del repositorio, denominado `ANTHROPIC_API_KEY` para una clave API o `CLAUDE_CODE_OAUTH_TOKEN` para un token de suscripción.
44 Configuración rápida41
45</h2>42Claude Code luego inserta una rama con los archivos de flujo de trabajo que selecciona, ya configurados para usar ese secreto, y abre GitHub en su navegador con una solicitud de extracción lista para crear. Cree y fusione esa solicitud de extracción, y `@claude` funciona en el repositorio.
43
44Si selecciona el flujo de trabajo de revisión, Claude publica cada revisión en la solicitud de extracción misma, como un comentario en línea en cada problema que encuentra o como un comentario de resumen cuando no encuentra ninguno. Claude omite algunas solicitudes de extracción, como borradores. El [ejemplo de flujo de trabajo de revisión](#run-a-skill) usa la misma skill y las enumera. Antes de v2.1.229, Claude escribía su revisión solo en el registro de ejecución del flujo de trabajo.
46 45
47Ejecute `/install-github-app` en la terminal de Claude Code para configurar la integración de forma interactiva. El comando instala la aplicación Claude GitHub en su repositorio y luego lo guía a través de la adición de los flujos de trabajo de GitHub Actions y el secreto de la clave API.46Para actualizar un flujo de trabajo de revisión que una versión anterior generó, haga una de las siguientes:
48 47
49Después de que se instale la aplicación de GitHub, el comando pregunta si desea continuar con la configuración de GitHub Actions. En Claude Code v2.1.187 y versiones posteriores, puede elegir **Omitir por ahora** para detener solo con la aplicación instalada y volver a los pasos de flujo de trabajo y secreto ejecutando `/install-github-app` nuevamente. Las versiones anteriores proceden directamente a la selección de flujo de trabajo.48* Ejecute `/install-github-app` nuevamente. Cuando el repositorio ya tiene un `claude.yml`, seleccione **Actualizar archivo de flujo de trabajo con la última versión**. Claude Code inserta copias nuevas de los archivos de flujo de trabajo en una rama nueva y abre la solicitud de extracción, igual que una primera instalación.
49* Agregue el argumento `--comment` y la línea `claude_args` del [ejemplo de flujo de trabajo de revisión](#run-a-skill) al archivo registrado usted mismo, lo que mantiene cualquier otra edición que haya realizado.
50
51Después de instalar la GitHub App, Claude Code pregunta si desea continuar con la configuración de GitHub Actions. Elija **Omitir por ahora** para detener solo con la GitHub App instalada. Ejecute `/install-github-app` nuevamente más tarde para terminar los pasos de flujo de trabajo y secreto. Antes de v2.1.187, Claude Code procedía directamente a la selección de flujo de trabajo.
50 52
51<Note>53<Note>
52 * Debe ser administrador del repositorio para instalar la aplicación de GitHub y agregar secretos54 * Cuando instala la GitHub App, le otorga varios permisos. Consulte [Permisos de GitHub App](#github-app-permissions) para el conjunto completo
53 * La aplicación de GitHub solicitará permisos de lectura y escritura para Contenidos, Problemas y Solicitudes de extracción55 * La configuración rápida funciona con la API de Claude y las suscripciones de Claude. Si usa Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry, consulte [Usar Claude Code GitHub Actions con proveedores en la nube](/docs/es/github-actions-cloud-providers)
54 * Este método de inicio rápido solo está disponible para usuarios directos de Claude API. Si está usando Amazon Bedrock o Google Cloud's Agent Platform, consulte la sección [Usar con Amazon Bedrock y 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 Configuración manual59 Configuración manual
59</h2>60</h3>
61
62Para configurar la GitHub Action de Claude Code sin ejecutar `/install-github-app`, instale la aplicación, agregue un secreto y copie un archivo de flujo de trabajo usted mismo:
63
64<Steps>
65 <Step title="Instale la GitHub App de Claude">
66 Instale la [GitHub App de Claude](https://github.com/apps/claude) en su repositorio. La GitHub Action de Claude Code depende de tres de los permisos de la aplicación:
67
68 * **Contents**: lectura y escritura, para que Claude pueda modificar archivos del repositorio
69 * **Issues**: lectura y escritura, para que Claude pueda responder a problemas
70 * **Pull requests**: lectura y escritura, para que Claude pueda crear PR e insertar cambios
60 71
61Si el comando `/install-github-app` falla o prefiere la configuración manual, siga estas instrucciones de configuración manual:72 Durante la instalación, también otorga permisos que otras características de Claude usan. Consulte [Permisos de GitHub App](#github-app-permissions) para el conjunto completo.
73 </Step>
62 74
631. **Instale la aplicación de GitHub de Claude** en su repositorio: [https://github.com/apps/claude](https://github.com/apps/claude)75 <Step title="Agregue un secreto de autenticación">
76 Agregue uno de los siguientes secretos a su repositorio, dependiendo de cómo se autentique. Consulte la guía de GitHub sobre [uso de secretos en GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).
64 77
65 La aplicación de GitHub de Claude requiere los siguientes permisos de repositorio:78 * `ANTHROPIC_API_KEY`: una clave API de Claude de la [Consola de Claude](https://platform.claude.com)
79 * `CLAUDE_CODE_OAUTH_TOKEN`: un token OAuth que se autentica con su suscripción de Claude, disponible en planes Pro, Max, Team y Enterprise. Genere uno ejecutando `claude setup-token` localmente. Consulte [Generar un token de larga duración](/docs/es/authentication#generate-a-long-lived-token)
66 80
67 * **Contenidos**: Lectura y escritura (para modificar archivos del repositorio)81 En archivos de flujo de trabajo, pase el secreto a la entrada correspondiente: `anthropic_api_key` para una clave API, o `claude_code_oauth_token` para un token OAuth.
68 * **Problemas**: Lectura y escritura (para responder a problemas)82 </Step>
69 * **Solicitudes de extracción**: Lectura y escritura (para crear PR e insertar cambios)
70 83
71 Para más detalles sobre seguridad y permisos, consulte la [documentación de seguridad](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).84 <Step title="Copie el archivo de flujo de trabajo">
722. **Agregue ANTHROPIC\_API\_KEY** a sus secretos del repositorio ([Aprenda cómo usar secretos en GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions))85 Copie [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) en el directorio `.github/workflows/` de su repositorio. El archivo es un flujo de trabajo funcional, no solo un ejemplo. Tal como está confirmado, Claude responde cada vez que alguien menciona `@claude` en un problema o solicitud de extracción, autenticándose con el secreto `ANTHROPIC_API_KEY`. Si agregó `CLAUDE_CODE_OAUTH_TOKEN` en su lugar, cambie la línea `anthropic_api_key` del flujo de trabajo a `claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`.
733. **Copie el archivo de flujo de trabajo** de [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) en el directorio `.github/workflows/` de su repositorio86 </Step>
87</Steps>
74 88
75<Tip>89<Tip>
76 Después de completar la configuración rápida o manual, pruebe la acción etiquetando `@claude` en un comentario de problema o PR.90 Después de la configuración, pruebe la GitHub Action de Claude Code etiquetando `@claude` en un comentario de problema o PR.
77</Tip>91</Tip>
78 92
79<h2 id="upgrading-from-beta">93<h3 id="set-up-for-an-organization">
80 Actualización desde Beta94 Configurar para una organización
81</h2>95</h3>
82 96
83<Warning>97Con la configuración rápida o manual, configura un repositorio a la vez. Para implementar la GitHub Action de Claude Code en toda una organización:
84 Claude Code GitHub Actions v1.0 introduce cambios importantes que requieren actualizar sus archivos de flujo de trabajo para actualizar a v1.0 desde la versión beta.
85</Warning>
86 98
87Si actualmente está usando la versión beta de Claude Code GitHub Actions, le recomendamos que actualice sus flujos de trabajo para usar la versión GA. La nueva versión simplifica la configuración mientras agrega características poderosas como la detección automática de modo.99* Instale la [GitHub App de Claude](https://github.com/apps/claude) una vez a nivel de organización, eligiendo todos los repositorios o una lista seleccionada
100* Almacene el secreto de autenticación como un secreto de Actions a nivel de organización para que cada repositorio no necesite su propia copia
101* Agregue el archivo de flujo de trabajo a cada repositorio que deba ejecutar la GitHub Action de Claude Code, o defina el trabajo una vez como un [flujo de trabajo reutilizable](https://docs.github.com/en/actions/using-workflows/reusing-workflows) que cada repositorio llama
88 102
89<h3 id="essential-changes">103Para un secreto compartido entre repositorios, auténtiquese con una clave API de la [Consola de Claude](https://platform.claude.com) en lugar de un token OAuth, ya que un token OAuth está vinculado a la suscripción de la persona que ejecutó `claude setup-token`.
90 Cambios esenciales104
91</h3>105Para evitar almacenar un secreto de larga duración en absoluto, auténtiquese a través de federación de identidad de carga de trabajo, donde la GitHub Action de Claude Code intercambia el token OpenID Connect (OIDC) de GitHub del flujo de trabajo por acceso a la API de Claude a través de una cuenta de servicio de la Consola de Claude. Establezca estas entradas:
106
107* `anthropic_federation_rule_id`: el ID de la regla de federación, `fdrl_...`
108* `anthropic_organization_id`: su ID de organización de Anthropic
109* `anthropic_service_account_id`: el ID de la cuenta de servicio, `svac_...`. Opcional, ya que la regla de federación que crea en la Consola ya apunta a una cuenta de servicio
110* `anthropic_workspace_id`: el ID del espacio de trabajo, `wrkspc_...`. Opcional cuando la regla de federación apunta a un único espacio de trabajo
92 111
93Todos los usuarios de beta deben hacer estos cambios en sus archivos de flujo de trabajo para actualizar:112Otorgue al flujo de trabajo el permiso `id-token: write`, que la GitHub Action de Claude Code necesita para el intercambio de federación incluso cuando pasa su propio `github_token`. Consulte la [guía de configuración de la GitHub Action de Claude Code](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md) para la configuración del lado de la Consola.
94 113
951. **Actualice la versión de la acción**: Cambie `@beta` a `@v1`114Para preguntas sobre manejo de datos y retención en una revisión de seguridad, consulte [uso de datos](/docs/es/data-usage) y [seguridad](/docs/es/security).
962. **Elimine la configuración de modo**: Elimine `mode: "tag"` o `mode: "agent"` (ahora se detecta automáticamente)
973. **Actualice las entradas de solicitud**: Reemplace `direct_prompt` con `prompt`
984. **Mueva opciones de CLI**: Convierta `max_turns`, `model`, `custom_instructions`, etc. a `claude_args`
99 115
100<h3 id="breaking-changes-reference">116<h3 id="uninstall">
101 Referencia de cambios importantes117 Desinstalar
102</h3>118</h3>
103 119
104| Entrada Beta antigua | Nueva entrada v1.0 |120Para eliminar la GitHub Action de Claude Code, deshaga cada parte de la configuración que se aplique a su instalación:
105| --------------------- | ------------------------------------------ |121
106| `mode` | *(Eliminado - se detecta automáticamente)* |122* **Archivos de flujo de trabajo**: elimine los flujos de trabajo que usan `anthropics/claude-code-action` de `.github/workflows/`. Si usó la configuración rápida, busque `claude.yml` y, si seleccionó el flujo de trabajo de revisión, `claude-code-review.yml`. Con los flujos de trabajo eliminados, la GitHub Action de Claude Code ya no se ejecuta
107| `direct_prompt` | `prompt` |123* **Secretos**: elimine el secreto `ANTHROPIC_API_KEY` o `CLAUDE_CODE_OAUTH_TOKEN` del repositorio, y de los secretos de Actions a nivel de organización si lo [compartió entre repositorios](#set-up-for-an-organization). Si elimina un secreto, la credencial que contenía sigue siendo válida. Para retirar completamente una clave API, también elimine la clave en la [Consola de Claude](https://platform.claude.com)
108| `override_prompt` | `prompt` con variables de GitHub |124* **GitHub App**: desinstale la GitHub App de Claude en la configuración de su repositorio u organización en GitHub Apps, pero solo si no la usa para otra característica de Claude, como Code Review o auto-fix web
109| `custom_instructions` | `claude_args: --append-system-prompt` |125
110| `max_turns` | `claude_args: --max-turns` |126Si configuró un [proveedor en la nube](/docs/es/github-actions-cloud-providers), también elimine los secretos del proveedor, como `AWS_ROLE_TO_ASSUME`, los secretos `GCP_*` o los secretos `AZURE_*`, y desinstale la GitHub App personalizada junto con sus secretos `APP_ID` y `APP_PRIVATE_KEY`.
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 Permisos de GitHub App
114| `claude_env` | `settings` formato JSON |
115
116<h3 id="before-and-after-example">
117 Ejemplo antes y después
118</h3>130</h3>
119 131
120**Versión beta:**132La [GitHub App de Claude](https://github.com/apps/claude) es compartida por cada característica de Claude que se integra con GitHub, incluida la GitHub Action de Claude Code, [Code Review](/docs/es/code-review) y [auto-fix para solicitudes de extracción](/docs/es/claude-code-on-the-web#auto-fix-pull-requests) en Claude Code en la web. Una GitHub App tiene un conjunto de permisos único que cubre todas sus características, por lo que el conjunto incluye algunos permisos que la GitHub Action de Claude Code no usa.
121 133
122```yaml theme={null}134Cuando instala la aplicación, otorga los siguientes permisos:
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ón GA (v1.0):**136| Permiso | Acceso |
137| ---------------- | ------------------- |
138| Actions | Lectura y escritura |
139| Checks | Lectura y escritura |
140| Contents | Lectura y escritura |
141| Discussions | Lectura y escritura |
142| Issues | Lectura y escritura |
143| Members | Lectura |
144| Metadata | Lectura |
145| Pull requests | Lectura y escritura |
146| Repository hooks | Lectura y escritura |
147| Statuses | Lectura |
148| Workflows | Lectura y escritura |
134 149
135```yaml theme={null}150El conjunto de permisos también puede cambiar antes de las características que lo usan. Cuando la aplicación solicita un permiso que no tenía antes, GitHub solicita al propietario de la cuenta que lo apruebe, un propietario de la organización para una instalación de organización, y la instalación mantiene sus permisos antiguos hasta que lo hagan. Por ejemplo, cuando el acceso de Actions cambia de lectura a escritura, la aplicación puede volver a ejecutar flujos de trabajo en lugar de solo ver ejecuciones y registros, por lo que GitHub le pide al propietario que apruebe el cambio.
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>152Cuando instala la aplicación, acepta su conjunto de permisos completo. GitHub no le permite aceptar un subconjunto. Si su organización requiere solo los permisos que usa la GitHub Action de Claude Code, cree una GitHub App personalizada con Contents, Issues y Pull requests en su lugar, siguiendo la [guía de configuración de la GitHub Action de Claude Code](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md). Una aplicación personalizada cubre solo la GitHub Action de Claude Code. Code Review y auto-fix web aún requieren la aplicación oficial.
147 La acción ahora detecta automáticamente si ejecutar en modo interactivo (responde a menciones `@claude`) o modo de automatización (se ejecuta inmediatamente con un solicitud) según su configuración.153
148</Tip>154Para detalles sobre cómo la GitHub Action de Claude Code limita lo que Claude puede hacer con estos permisos, consulte la [documentación de seguridad](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).
155
156<h2 id="interactive-and-automation-modes">
157 Modos interactivo y de automatización
158</h2>
159
160La GitHub Action de Claude Code detecta cómo ejecutarse desde su configuración de flujo de trabajo:
161
162* **Modo interactivo**: cuando el flujo de trabajo no proporciona entrada `prompt`, Claude espera la frase de disparo, `@claude` por defecto, en un comentario de problema o solicitud de extracción, en una revisión de solicitud de extracción o en el cuerpo o título de un problema recién abierto, luego responde a esa solicitud. El progreso y los resultados aparecen como un comentario en el problema o PR que desencadena.
163* **Modo de automatización**: cuando el flujo de trabajo proporciona una entrada `prompt`, Claude se ejecuta sin esperar una mención, sujeto solo a las [comprobaciones sobre quién puede desencadenar ejecuciones](#who-can-trigger-runs). Por defecto, los resultados aparecen en el registro de ejecución del flujo de trabajo en lugar de un comentario. Claude puede publicar en el problema o solicitud de extracción cuando el mensaje lo dirige y tiene una herramienta que puede publicar, como en el [ejemplo de revisión de código](#run-a-skill).
164
165<h3 id="who-can-trigger-runs">
166 Quién puede desencadenar ejecuciones
167</h3>
168
169En ambos modos, la GitHub Action de Claude Code ejecuta dos comprobaciones en el actor que desencadena antes de que Claude comience, y la ejecución falla cuando cualquiera de las comprobaciones la rechaza:
170
171* **Acceso de escritura**: en eventos de problema y solicitud de extracción, el usuario que desencadena debe tener acceso de escritura al repositorio. Para permitir usuarios específicos sin acceso de escritura, establezca `allowed_non_write_users` y pase su propia entrada `github_token`. Los eventos que ningún usuario crea, como un disparador `schedule`, omiten esta comprobación.
172* **Actor humano**: en cada evento, la GitHub Action de Claude Code rechaza un actor bot a menos que lo enumere en `allowed_bots`, lo que evita que los bots desencadenen Claude en un bucle. Esta comprobación también se aplica a ejecuciones programadas, que GitHub atribuye a un usuario del repositorio, generalmente el que cambió por última vez el cronograma `cron` del flujo de trabajo. Si ese usuario es un bot, enumérelo en `allowed_bots`.
149 173
150<h2 id="example-use-cases">174<h2 id="example-use-cases">
151 Casos de uso de ejemplo175 Casos de uso de ejemplo
152</h2>176</h2>
153 177
154Claude Code GitHub Actions puede ayudarle con una variedad de tareas. El [directorio de ejemplos](https://github.com/anthropics/claude-code-action/tree/main/examples) contiene flujos de trabajo listos para usar para diferentes escenarios.178El [directorio de ejemplos](https://github.com/anthropics/claude-code-action/tree/main/examples) contiene flujos de trabajo listos para usar para diferentes escenarios.
179
180Los ejemplos en esta página muestran autenticación de clave API. Si se autentica con una suscripción de Claude, reemplace la línea `anthropic_api_key` en cualquier ejemplo con `claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`.
155 181
156<h3 id="basic-workflow">182<h3 id="respond-to-claude-mentions">
157 Flujo de trabajo básico183 Responder a menciones @claude
158</h3>184</h3>
159 185
186Este flujo de trabajo ejecuta la GitHub Action de Claude Code en modo interactivo, por lo que Claude responde cada vez que alguien menciona `@claude` en un comentario de problema o 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">214Las partes de este flujo de trabajo que no son código estándar:
178 Usar skills215
216* `id-token: write`: requerido para la autenticación predeterminada de GitHub App de la GitHub Action de Claude Code
217* `actions: read`: permite que Claude lea resultados de CI en PR
218* `actions/checkout`: le da a Claude una copia local del repositorio para trabajar
219* `if`: evita que los ejecutores se inicien en comentarios que no mencionen `@claude`. La GitHub Action de Claude Code también verifica la frase de disparo antes de responder
220
221Una vez que el flujo de trabajo está en su lugar, mencione `@claude` en cualquier comentario de problema o PR con una solicitud:
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 responde en un comentario en el mismo problema o PR y lo actualiza mientras trabaja.
230
231<h3 id="run-a-skill">
232 Ejecutar una skill
179</h3>233</h3>
180 234
181La entrada `prompt` acepta una [invocación de skill](/es/skills) así como texto sin formato:235La entrada `prompt` acepta una invocación de [skill](/docs/es/skills) así como texto sin formato:
182 236
183* Para un skill en el directorio `.claude/skills/` de su repositorio, ejecute `actions/checkout` antes del paso de acción y pase `/skill-name`.237* Para una skill en el directorio `.claude/skills/` de su repositorio, ejecute `actions/checkout` antes del paso `anthropics/claude-code-action` para que los archivos de skill estén disponibles en el ejecutor, luego pase `/skill-name` como `prompt`.
184* Para un skill empaquetado en un plugin, instale el plugin con las entradas `plugin_marketplaces` y `plugins` y pase el `/plugin-name:skill-name` con espacio de nombres.238* Para una skill empaquetada en un [plugin](/docs/es/plugins), instale el plugin con las entradas `plugin_marketplaces` y `plugins`, luego pase el `/plugin-name:skill-name` con espacio de nombres como `prompt`. La entrada `plugins` toma `plugin-name@marketplace-name`, donde el nombre del marketplace viene del manifiesto propio del marketplace en lugar de su URL de repositorio.
185 239
186El siguiente flujo de trabajo instala el plugin `code-review` y ejecuta su skill en cada solicitud de extracción nueva o actualizada:240El siguiente flujo de trabajo instala el plugin `code-review` y ejecuta su skill cuando se abre, actualiza, reabre o marca una solicitud de extracción como lista para revisión. Ejecuta el mismo plugin que el flujo de trabajo de revisión de la configuración rápida. Use un flujo de trabajo como este cuando desee controlar el mensaje, el modelo y los disparadores usted mismo. Para revisiones automáticas sin mantener un archivo de flujo de trabajo, consulte [Code Review](/docs/es/code-review). En repositorios públicos, GitHub retiene secretos de ejecuciones desencadenadas por solicitudes de extracción de bifurcación, por lo que la revisión se ejecuta solo en solicitudes de extracción de ramas en el mismo repositorio.
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">268Dos líneas en este flujo de trabajo controlan dónde va la revisión:
206 Automatización personalizada con solicitudes269
270* **`--comment`**: Claude publica su revisión en la solicitud de extracción, como un comentario en línea en cada problema que encuentra o como un comentario de resumen cuando no encuentra ninguno. Sin él, Claude no publica nada, y usted lee los hallazgos en el registro de ejecución del flujo de trabajo.
271* **`claude_args`**: mantenga esta línea aunque la propia `allowed-tools` frontmatter de la skill nombre la misma herramienta, porque la GitHub Action de Claude Code inicia el servidor MCP que publica comentarios en línea solo cuando `--allowedTools` en `claude_args` lo nombra.
272
273Claude omite solicitudes de extracción en borrador y cerradas, solicitudes de extracción que juzga que no necesitan revisión, como las automatizadas o triviales, y solicitudes de extracción que ya tienen un comentario de Claude.
274
275<h3 id="run-on-a-schedule">
276 Ejecutar en un cronograma
207</h3>277</h3>
208 278
279Con una entrada `prompt`, la GitHub Action de Claude Code se ejecuta en modo de automatización en cualquier evento de GitHub, incluido un cronograma cron. Para un mensaje de texto sin formato, Claude no tiene acceso a shell o API de GitHub hasta que otorgue las herramientas que el mensaje necesita, con `--allowedTools` en `claude_args` o una [regla `permissions.allow`](/docs/es/permissions#permission-rule-syntax) en la entrada `settings`. Si invoca una skill en su lugar, Claude puede usar las herramientas que su [frontmatter `allowed-tools`](/docs/es/skills#pre-approve-tools-for-a-skill) otorga. GitHub ejecuta flujos de trabajo programados solo desde la rama predeterminada y, en repositorios públicos, desactiva el cronograma después de 60 días sin actividad del repositorio.
280
281Este flujo de trabajo genera un informe en el registro de ejecución del flujo de trabajo a las 09:00 UTC cada día. Su línea `claude_args` [pasa argumentos de CLI](#pass-cli-arguments) que seleccionan el modelo y permiten dos herramientas MCP de GitHub. Claude lee confirmaciones y problemas a través de la API de GitHub con esas herramientas, por lo que puede omitir el paso de 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 Casos de uso comunes
227</h3>
228
229En comentarios de problema 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```303```
236 304
237Claude analizará automáticamente el contexto y responderá apropiadamente.
238
239<h2 id="best-practices">305<h2 id="best-practices">
240 Mejores prácticas306 Mejores prácticas
241</h2>307</h2>
242 308
243<h3 id="claude-md-configuration">309<h3 id="define-project-standards-in-claude-md">
244 Configuración de CLAUDE.md310 Defina estándares de proyecto en CLAUDE.md
245</h3>311</h3>
246 312
247Cree un archivo `CLAUDE.md` en la raíz de su repositorio para definir directrices de estilo de código, criterios de revisión, reglas específicas del proyecto y patrones preferidos. Este archivo guía la comprensión de Claude de los estándares de su proyecto.313Cree un archivo `CLAUDE.md` en la raíz de su repositorio para definir directrices de estilo de código, criterios de revisión, reglas específicas del proyecto y patrones preferidos. Claude sigue estas directrices al crear PR y responder a solicitudes. Consulte la [documentación de memoria](/docs/es/memory) para detalles.
248 314
249<h3 id="security-considerations">315<h3 id="protect-your-credentials">
250 Consideraciones de seguridad316 Proteja sus credenciales
251</h3>317</h3>
252 318
253<Warning>Nunca confirme claves API directamente en su repositorio.</Warning>319<Warning>
254 320 Nunca confirme claves API u tokens OAuth directamente en su repositorio. Siempre almacénelos como GitHub Secrets y haga referencia a ellos en flujos de trabajo, por ejemplo `anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}`.
255Para una guía de seguridad completa que incluya permisos, autenticación y mejores prácticas, consulte la [documentación de seguridad de Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).321</Warning>
256
257Siempre use GitHub Secrets para claves API:
258
259* Agregue su clave API como un secreto del repositorio llamado `ANTHROPIC_API_KEY`
260* Haga referencia a él en flujos de trabajo: `anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}`
261* Limite los permisos de acción solo a lo necesario
262* Revise las sugerencias de Claude antes de fusionar
263
264Siempre use GitHub Secrets (por ejemplo, `${{ secrets.ANTHROPIC_API_KEY }}`) en lugar de codificar claves API directamente en sus archivos de flujo de trabajo.
265 322
266<h3 id="optimizing-performance">323Otorgue al flujo de trabajo solo los permisos que necesita y revise los cambios de Claude antes de fusionar.
267 Optimización del rendimiento
268</h3>
269 324
270Use plantillas de problemas para proporcionar contexto, mantenga su `CLAUDE.md` conciso y enfocado, y configure tiempos de espera apropiados para sus flujos de trabajo.325Para una guía de seguridad completa que incluya permisos y autenticación, consulte la [documentación de seguridad de 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 Costos de CI328 Gestionar costos
274</h3>329</h3>
275 330
276Al usar Claude Code GitHub Actions, tenga en cuenta los costos asociados:331Cada ejecución consume dos tipos de recursos:
277
278**Costos de GitHub Actions:**
279 332
280* Claude Code se ejecuta en ejecutores alojados en GitHub, que consumen sus minutos de GitHub Actions333* **Minutos de GitHub Actions**: la GitHub Action de Claude Code se ejecuta en ejecutores alojados en GitHub, que consumen sus minutos de GitHub Actions. Consulte la [documentación de facturación de GitHub](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions) para precios y límites de minutos.
281* Consulte la [documentación de facturación de GitHub](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions) para obtener detalles de precios y límites de minutos334* **Tokens de API**: cada interacción consume tokens según la longitud de mensajes y respuestas, complejidad de tareas y tamaño de la base de código. Consulte la [página de precios de Claude](https://claude.com/platform/api) para tasas de tokens actuales. Si se autentica con un token OAuth, las ejecuciones usan su suscripción de Claude en lugar de facturación de API.
282 335
283**Costos de API:**336Puede reducir ambos tipos de costo dándole a Claude un contexto más claro y limitando cuánto trabajo puede hacer cada ejecución:
284 337
285* Cada interacción de Claude consume tokens de API según la longitud de solicitudes y respuestas338* Escriba solicitudes específicas de `@claude` para que Claude necesite menos turnos para terminar
286* El uso de tokens varía según la complejidad de la tarea y el tamaño de la base de código339* Use plantillas de problemas para proporcionar contexto por adelantado
287* Consulte la [página de precios de Claude](https://claude.com/platform/api) para obtener las tasas de tokens actuales340* Mantenga su `CLAUDE.md` conciso, ya que Claude lo lee en cada ejecución
288 341* Establezca `--max-turns` en `claude_args` para limitar iteraciones
289**Consejos de optimización de costos:**
290
291* Use comandos específicos `@claude` para reducir llamadas API innecesarias
292* Configure `--max-turns` apropiado en `claude_args` para evitar iteraciones excesivas
293* Establezca tiempos de espera a nivel de flujo de trabajo para evitar trabajos descontrolados342* Establezca tiempos de espera a nivel de flujo de trabajo para evitar trabajos descontrolados
294* Considere usar controles de concurrencia de GitHub para limitar ejecuciones paralelas343* Use los controles de concurrencia de GitHub para limitar ejecuciones paralelas
295
296<h2 id="configuration-examples">
297 Ejemplos de configuración
298</h2>
299
300Claude Code Action v1 simplifica la configuración con parámetros unificados:
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 344
310Características clave:345Para seguimiento de uso en toda su organización, consulte el [panel de análisis](/docs/es/analytics) y [monitoreo](/docs/es/monitoring-usage). Para cómo se mide y factura el uso, consulte [costos](/docs/es/costs).
311 346
312* **Interfaz de solicitud unificada** - Use `prompt` para todas las instrucciones347<h2 id="use-a-cloud-provider">
313* **Skills** - Invoque [skills](/es/skills) instalados directamente desde la solicitud348 Usar un proveedor en la nube
314* **Paso de CLI** - Cualquier argumento de CLI de Claude Code a través de `claude_args`
315* **Disparadores flexibles** - Funciona con cualquier evento de GitHub
316
317Visite el [directorio de ejemplos](https://github.com/anthropics/claude-code-action/tree/main/examples) para archivos de flujo de trabajo completos.
318
319<Tip>
320 Al responder a comentarios de problema o PR, Claude responde automáticamente a menciones @claude. Para otros eventos, use el parámetro `prompt` para proporcionar instrucciones.
321</Tip>
322
323<h2 id="using-with-amazon-bedrock-and-google-cloud">
324 Usar con Amazon Bedrock y Google Cloud
325</h2>349</h2>
326 350
327Para entornos empresariales, puede usar Claude Code GitHub Actions con su propia infraestructura en la nube. Este enfoque le da control sobre la residencia de datos y la facturación mientras mantiene la misma funcionalidad.351Por defecto, la GitHub Action de Claude Code llama a la API de Claude directamente con su clave API u token OAuth. Para enrutar la inferencia a través de su propia cuenta en la nube en su lugar, establezca la entrada para su proveedor y siga [Usar Claude Code GitHub Actions con proveedores en la nube](/docs/es/github-actions-cloud-providers):
328
329<h3 id="prerequisites">
330 Requisitos previos
331</h3>
332
333Antes de configurar Claude Code GitHub Actions con proveedores en la nube, necesita:
334
335<h4 id="for-google-cloud’s-agent-platform">
336 Para Google Cloud's Agent Platform:
337</h4>
338
3391. Un proyecto de Google Cloud con Google Cloud's Agent Platform habilitado
3402. Federación de identidad de carga de trabajo configurada para GitHub Actions
3413. Una cuenta de servicio con los permisos requeridos
3424. Una aplicación de GitHub (recomendado) o use el GITHUB\_TOKEN predeterminado
343
344<h4 id="for-amazon-bedrock">
345 Para Amazon Bedrock:
346</h4>
347
3481. Una cuenta de AWS con Amazon Bedrock habilitado
3492. Proveedor de identidad OIDC de GitHub configurado en AWS
3503. Un rol de IAM con permisos de Amazon Bedrock
3514. Una aplicación de GitHub (recomendado) o use el GITHUB\_TOKEN predeterminado
352
353<Steps>
354 <Step title="Crear una aplicación de GitHub personalizada (Recomendado para proveedores de terceros)">
355 Para el mejor control y seguridad al usar proveedores de terceros como Google Cloud's Agent Platform o Amazon Bedrock, le recomendamos crear su propia aplicación de GitHub:
356
357 1. Vaya a [https://github.com/settings/apps/new](https://github.com/settings/apps/new)
358 2. Complete la información básica:
359 * **Nombre de la aplicación de GitHub**: Elija un nombre único (por ejemplo, "YourOrg Claude Assistant")
360 * **URL de inicio**: El sitio web de su organización o la URL del repositorio
361 3. Configure los ajustes de la aplicación:
362 * **Webhooks**: Desmarque "Activo" (no es necesario para esta integración)
363 4. Establezca los permisos requeridos:
364 * **Permisos del repositorio**:
365 * Contenidos: Lectura y escritura
366 * Problemas: Lectura y escritura
367 * Solicitudes de extracción: Lectura y escritura
368 5. Haga clic en "Crear aplicación de GitHub"
369 6. Después de la creación, haga clic en "Generar una clave privada" y guarde el archivo `.pem` descargado
370 7. Anote su ID de aplicación en la página de configuración de la aplicación
371 8. Instale la aplicación en su repositorio:
372 * Desde la página de configuración de su aplicación, haga clic en "Instalar aplicación" en la barra lateral izquierda
373 * Seleccione su cuenta u organización
374 * Elija "Solo repositorios seleccionados" y seleccione el repositorio específico
375 * Haga clic en "Instalar"
376 9. Agregue la clave privada como un secreto a su repositorio:
377 * Vaya a Configuración de su repositorio → Secretos y variables → Acciones
378 * Cree un nuevo secreto llamado `APP_PRIVATE_KEY` con el contenido del archivo `.pem`
379 10. Agregue el ID de la aplicación como un secreto:
380
381 * Cree un nuevo secreto llamado `APP_ID` con el ID de su aplicación de GitHub
382
383 <Note>
384 Esta aplicación se usará con la acción [actions/create-github-app-token](https://github.com/actions/create-github-app-token) para generar tokens de autenticación en sus flujos de trabajo.
385 </Note>
386
387 **Alternativa para Claude API o si no desea configurar su propia aplicación de Github**: Use la aplicación oficial de Anthropic:
388
389 1. Instale desde: [https://github.com/apps/claude](https://github.com/apps/claude)
390 2. No se requiere configuración adicional para autenticación
391 </Step>
392
393 <Step title="Configurar autenticación del proveedor en la nube">
394 Elija su proveedor en la nube y configure autenticación segura:
395
396 <AccordionGroup>
397 <Accordion title="Amazon Bedrock">
398 **Configure AWS para permitir que GitHub Actions se autentique de forma segura sin almacenar credenciales.**
399
400 > **Nota de seguridad**: Use configuraciones específicas del repositorio y otorgue solo los permisos mínimos requeridos.
401
402 **Configuración requerida**:
403
404 1. **Habilitar Amazon Bedrock**:
405 * Solicite acceso a modelos de Claude en Amazon Bedrock
406 * Para modelos entre regiones, solicite acceso en todas las regiones requeridas
407
408 2. **Configurar proveedor de identidad OIDC de GitHub**:
409 * URL del proveedor: `https://token.actions.githubusercontent.com`
410 * Audiencia: `sts.amazonaws.com`
411
412 3. **Crear rol de IAM para GitHub Actions**:
413 * Tipo de entidad de confianza: Identidad web
414 * Proveedor de identidad: `token.actions.githubusercontent.com`
415 * Permisos: política `AmazonBedrockFullAccess`
416 * Configurar política de confianza para su repositorio específico
417
418 **Valores requeridos**:
419
420 Después de la configuración, necesitará:
421
422 * **AWS\_ROLE\_TO\_ASSUME**: El ARN del rol de IAM que creó
423
424 <Tip>
425 OIDC es más seguro que usar claves de acceso estáticas de AWS porque las credenciales son temporales y se rotan automáticamente.
426 </Tip>
427
428 Consulte la [documentación de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html) para obtener instrucciones detalladas de configuración de OIDC.
429 </Accordion>
430
431 <Accordion title="Google Cloud's Agent Platform">
432 **Configure Google Cloud para permitir que GitHub Actions se autentique de forma segura sin almacenar credenciales.**
433 352
434 > **Nota de seguridad**: Use configuraciones específicas del repositorio y otorgue solo los permisos mínimos requeridos.353* **Amazon Bedrock**: `use_bedrock: "true"`
354* **Google Cloud's Agent Platform**: `use_vertex: "true"`
355* **Microsoft Foundry**: `use_foundry: "true"`
435 356
436 **Configuración requerida**:357Con los tres proveedores, se autentica a través de federación de identidad OIDC en lugar de una clave API de Claude, por lo que no almacena credenciales de nube estáticas en su repositorio.
437
438 1. **Habilitar APIs** en su proyecto de Google Cloud:
439 * API de credenciales de IAM
440 * API de servicio de token de seguridad (STS)
441 * API de Google Cloud's Agent Platform
442
443 2. **Crear recursos de Federación de identidad de carga de trabajo**:
444 * Crear un grupo de identidad de carga de trabajo
445 * Agregar un proveedor OIDC de GitHub con:
446 * Emisor: `https://token.actions.githubusercontent.com`
447 * Asignaciones de atributos para repositorio y propietario
448 * **Recomendación de seguridad**: Use condiciones de atributo específicas del repositorio
449
450 3. **Crear una cuenta de servicio**:
451 * Otorgue solo el rol `Vertex AI User`
452 * **Recomendación de seguridad**: Cree una cuenta de servicio dedicada por repositorio
453
454 4. **Configurar enlaces de IAM**:
455 * Permitir que el grupo de identidad de carga de trabajo suplante la cuenta de servicio
456 * **Recomendación de seguridad**: Use conjuntos de principios específicos del repositorio
457
458 **Valores requeridos**:
459
460 Después de la configuración, necesitará:
461
462 * **GCP\_WORKLOAD\_IDENTITY\_PROVIDER**: El nombre completo del recurso del proveedor
463 * **GCP\_SERVICE\_ACCOUNT**: La dirección de correo electrónico de la cuenta de servicio
464
465 <Tip>
466 Workload Identity Federation elimina la necesidad de claves de cuenta de servicio descargables, mejorando la seguridad.
467 </Tip>
468
469 Para obtener instrucciones de configuración detalladas, consulte la [documentación de Federación de identidad de carga de trabajo de Google Cloud](https://cloud.google.com/iam/docs/workload-identity-federation).
470 </Accordion>
471 </AccordionGroup>
472 </Step>
473
474 <Step title="Agregar secretos requeridos">
475 Agregue los siguientes secretos a su repositorio (Configuración → Secretos y variables → Acciones):
476
477 #### Para Claude API (Directo):
478
479 1. **Para autenticación de API**:
480 * `ANTHROPIC_API_KEY`: Su clave de API de Claude de [console.anthropic.com](https://console.anthropic.com)
481
482 2. **Para aplicación de GitHub (si usa su propia aplicación)**:
483 * `APP_ID`: El ID de su aplicación de GitHub
484 * `APP_PRIVATE_KEY`: El contenido de la clave privada (.pem)
485
486 #### Para Google Cloud's Agent Platform
487
488 1. **Para autenticación de GCP**:
489 * `GCP_WORKLOAD_IDENTITY_PROVIDER`
490 * `GCP_SERVICE_ACCOUNT`
491
492 2. **Para aplicación de GitHub (si usa su propia aplicación)**:
493 * `APP_ID`: El ID de su aplicación de GitHub
494 * `APP_PRIVATE_KEY`: El contenido de la clave privada (.pem)
495
496 #### Para Amazon Bedrock
497
498 1. **Para autenticación de AWS**:
499 * `AWS_ROLE_TO_ASSUME`
500
501 2. **Para aplicación de GitHub (si usa su propia aplicación)**:
502 * `APP_ID`: El ID de su aplicación de GitHub
503 * `APP_PRIVATE_KEY`: El contenido de la clave privada (.pem)
504 </Step>
505
506 <Step title="Crear archivos de flujo de trabajo">
507 Cree archivos de flujo de trabajo de GitHub Actions que se integren con su proveedor en la nube. Los ejemplos a continuación muestran configuraciones completas tanto para Amazon Bedrock como para Google Cloud's Agent Platform:
508
509 <AccordionGroup>
510 <Accordion title="Flujo de trabajo de Amazon Bedrock">
511 **Requisitos previos:**
512
513 * Acceso a Amazon Bedrock habilitado con permisos de modelo de Claude
514 * GitHub configurado como proveedor de identidad OIDC en AWS
515 * Rol de IAM con permisos de Amazon Bedrock que confía en GitHub Actions
516
517 **Secretos de GitHub requeridos:**
518
519 | Nombre del secreto | Descripción |
520 | -------------------- | -------------------------------------------------------------------- |
521 | `AWS_ROLE_TO_ASSUME` | ARN del rol de IAM para acceso a Amazon Bedrock |
522 | `APP_ID` | Su ID de aplicación de GitHub (de la configuración de la aplicación) |
523 | `APP_PRIVATE_KEY` | La clave privada que generó para su aplicación de GitHub |
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 El formato de ID de modelo para Amazon Bedrock incluye un prefijo de región (por ejemplo, `us.anthropic.claude-sonnet-4-6`).
577 </Tip>
578 </Accordion>
579
580 <Accordion title="Flujo de trabajo de Google Cloud's Agent Platform">
581 **Requisitos previos:**
582
583 * API de Google Cloud's Agent Platform habilitada en su proyecto de GCP
584 * Federación de identidad de carga de trabajo configurada para GitHub
585 * Cuenta de servicio con permisos de Google Cloud's Agent Platform
586
587 **Secretos de GitHub requeridos:**
588
589 | Nombre del secreto | Descripción |
590 | -------------------------------- | -------------------------------------------------------------------------------------- |
591 | `GCP_WORKLOAD_IDENTITY_PROVIDER` | Nombre del recurso del proveedor de identidad de carga de trabajo |
592 | `GCP_SERVICE_ACCOUNT` | Correo electrónico de la cuenta de servicio con acceso a Google Cloud's Agent Platform |
593 | `APP_ID` | Su ID de aplicación de GitHub (de la configuración de la aplicación) |
594 | `APP_PRIVATE_KEY` | La clave privada que generó para su aplicación de GitHub |
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 El ID del proyecto se recupera automáticamente del paso de autenticación de Google Cloud, por lo que no necesita codificarlo.
652 </Tip>
653 </Accordion>
654 </AccordionGroup>
655 </Step>
656</Steps>
657 358
658<h2 id="troubleshooting">359<h2 id="troubleshooting">
659 Solución de problemas360 Solución de problemas
663 Claude no responde a comandos @claude364 Claude no responde a comandos @claude
664</h3>365</h3>
665 366
666Verifique que la aplicación de GitHub esté instalada correctamente, compruebe que los flujos de trabajo estén habilitados, asegúrese de que la clave API esté configurada en los secretos del repositorio y confirme que el comentario contenga `@claude` (no `/claude`).367* Verifique que la GitHub App esté instalada en el repositorio
368* Compruebe que los flujos de trabajo estén habilitados para el repositorio
369* Asegúrese de que su clave API u token OAuth esté configurado en secretos del repositorio
370* Confirme que el comentario contiene `@claude` como una palabra completa, no `/claude` o `@claude-bot`
371* Confirme que el usuario que comenta tiene acceso de escritura al repositorio. Consulte [Quién puede desencadenar ejecuciones](#who-can-trigger-runs) para las excepciones
667 372
668<h3 id="ci-not-running-on-claude’s-commits">373<h3 id="ci-not-running-on-claude’s-commits">
669 CI no se ejecuta en los commits de Claude374 CI no se ejecuta en las confirmaciones de Claude
670</h3>375</h3>
671 376
672Asegúrese de estar usando la aplicación de GitHub o una aplicación personalizada (no el usuario de Acciones), verifique que los disparadores de flujo de trabajo incluyan los eventos necesarios y confirme que los permisos de la aplicación incluyan disparadores de CI.377* GitHub no desencadena flujos de trabajo en confirmaciones realizadas con el `GITHUB_TOKEN` predeterminado. Si pasa `github_token: ${{ secrets.GITHUB_TOKEN }}` a la GitHub Action de Claude Code, elimínelo para que se autentique como la GitHub App de Claude, o pase un token de aplicación personalizado en su lugar
378* Compruebe que los disparadores del flujo de trabajo de CI incluyan los eventos que producen los insertos de Claude, como `push` o `pull_request`
673 379
674<h3 id="authentication-errors">380<h3 id="authentication-errors">
675 Errores de autenticación381 Errores de autenticación
676</h3>382</h3>
677 383
678Confirme que la clave API sea válida y tenga permisos suficientes. Para Amazon Bedrock o Google Cloud's Agent Platform, verifique la configuración de credenciales y asegúrese de que los secretos tengan los nombres correctos en los flujos de trabajo.384* Confirme que la clave API u token OAuth sea válido probándolo localmente con `claude` antes de depurar el flujo de trabajo
385* Para Bedrock, Agent Platform y Foundry, consulte la [sección de solución de problemas](/docs/es/github-actions-cloud-providers#troubleshooting) de la página del proveedor en la nube
386
387Para más soluciones, consulte las [Preguntas frecuentes](https://github.com/anthropics/claude-code-action/blob/main/docs/faq.md) de la GitHub Action de Claude Code.
679 388
680<h2 id="advanced-configuration">389<h2 id="advanced-configuration">
681 Configuración avanzada390 Configuración avanzada
685 Parámetros de acción394 Parámetros de acción
686</h3>395</h3>
687 396
688Claude Code Action v1 utiliza una configuración simplificada:397Estas son las entradas más comúnmente usadas. Cada una se asigna a una clave `with:` en el paso `anthropics/claude-code-action`.
689 398
690| Parámetro | Descripción | Requerido |399| Parámetro | Descripción | Requerido |
691| --------------------- | ----------------------------------------------------------------------------------------- | --------- |400| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
692| `prompt` | Instrucciones para Claude (texto sin formato o un nombre de [skill](/es/skills)) | No\* |401| `prompt` | Instrucciones para Claude, como texto sin formato o una invocación de [skill](/docs/es/skills). Cuando se omite, Claude responde a la [frase de disparo](#interactive-and-automation-modes) en su lugar | No |
693| `claude_args` | Argumentos de CLI pasados a Claude Code | No |402| `claude_args` | Argumentos de CLI pasados a Claude Code | No |
403| `anthropic_api_key` | Clave API de Claude | Para la API de Claude, a menos que use `claude_code_oauth_token` o [federación de identidad de carga de trabajo](#set-up-for-an-organization). No se usa para Bedrock, Agent Platform o Foundry |
404| `claude_code_oauth_token` | Token OAuth para autenticarse con una suscripción de Claude, generado con `claude setup-token` | No |
405| `github_token` | Token para operaciones de GitHub. Cuando se omite, la GitHub Action de Claude Code se autentica como la GitHub App de Claude | No |
694| `plugin_marketplaces` | Lista separada por saltos de línea de URLs de Git de marketplace de plugins | No |406| `plugin_marketplaces` | Lista separada por saltos de línea de URLs de Git de marketplace de plugins | No |
695| `plugins` | Lista separada por saltos de línea de nombres de plugins a instalar antes de la ejecución | No |407| `plugins` | Lista separada por saltos de línea de nombres de plugins a instalar antes de la ejecución | No |
696| `anthropic_api_key` | Clave API de Claude | Sí\*\* |408| `settings` | Configuración de Claude Code, como una cadena JSON o una ruta a un archivo JSON de configuración | No |
697| `github_token` | Token de GitHub para acceso a API | No |409| `trigger_phrase` | Frase de disparo a la que Claude responde. Predeterminado: `@claude` | No |
698| `trigger_phrase` | Frase de disparo personalizada (predeterminado: "@claude") | No |410| `use_bedrock` | Usar Amazon Bedrock en lugar de la API de Claude | No |
699| `use_bedrock` | Usar Amazon Bedrock en lugar de Claude API | No |411| `use_vertex` | Usar Google Cloud's Agent Platform en lugar de la API de Claude | No |
700| `use_vertex` | Usar Google Cloud's Agent Platform en lugar de Claude API | No |412| `use_foundry` | Usar Microsoft Foundry en lugar de la API de Claude | No |
701 413
702\*Prompt es opcional - cuando se omite para comentarios de problema/PR, Claude responde a la frase de disparo\414Para la lista de entrada completa, consulte la [referencia de configuración](https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md#inputs) de la GitHub Action de Claude Code.
703\*\*Requerido para Claude API directo, no para Amazon Bedrock o Google Cloud's Agent Platform
704 415
705<h4 id="pass-cli-arguments">416<h3 id="pass-cli-arguments">
706 Pasar argumentos de CLI417 Pasar argumentos de CLI
707</h4>418</h3>
708 419
709El parámetro `claude_args` acepta cualquier argumento de CLI de Claude Code:420El parámetro `claude_args` acepta cualquier [argumento de CLI de Claude Code](/docs/es/cli-reference):
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
715Argumentos comunes:426Argumentos comunes:
716 427
717* `--max-turns`: Máximo de turnos de conversación (predeterminado: 10)428* `--max-turns`: limitar el número de turnos de conversación
718* `--model`: Modelo a usar (por ejemplo, `claude-sonnet-5`)429* `--model`: modelo a usar, por ejemplo `claude-sonnet-5`. Sin este argumento, la GitHub Action de Claude Code usa el [modelo predeterminado](/docs/es/model-config) de Claude Code
719* `--mcp-config`: Ruta a la configuración de MCP430* `--mcp-config`: ruta a [configuración de MCP](/docs/es/mcp)
720* `--allowedTools`: Lista separada por comas de herramientas permitidas. El alias `--allowed-tools` también funciona.431* `--allowedTools`: lista separada por comas de herramientas permitidas. El alias `--allowed-tools` también funciona
721* `--debug`: Habilitar salida de depuración432* `--debug`: habilitar salida de depuración
722 433
723<h3 id="alternative-integration-methods">434<h2 id="upgrade-from-beta">
724 Métodos de integración alternativos435 Actualizar desde beta
725</h3>436</h2>
726
727Aunque el comando `/install-github-app` es el enfoque recomendado, también puede:
728
729* **Aplicación de GitHub personalizada**: Para organizaciones que necesitan nombres de usuario personalizados o flujos de autenticación personalizados. Cree su propia aplicación de GitHub con permisos requeridos (contenidos, problemas, solicitudes de extracción) y use la acción actions/create-github-app-token para generar tokens en sus flujos de trabajo.
730* **GitHub Actions manual**: Configuración de flujo de trabajo directo para máxima flexibilidad
731* **Configuración de MCP**: Carga dinámica de servidores del Protocolo de contexto del modelo
732 437
733Consulte la [documentación de Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs) para obtener guías detalladas sobre autenticación, seguridad y configuración avanzada.438Si sus flujos de trabajo aún hacen referencia a `anthropics/claude-code-action@beta`, actualícelos a v1:
734 439
735<h3 id="customizing-claude’s-behavior">4401. Cambie `@beta` a `@v1` en la línea `uses`
736 Personalizar el comportamiento de Claude4412. Elimine la entrada `mode`, ya que la GitHub Action de Claude Code ahora [detecta el modo automáticamente](#interactive-and-automation-modes)
737</h3>4423. Reemplace `direct_prompt` con `prompt`
4434. Mueva opciones de CLI como `max_turns` y `model` a `claude_args`. `custom_instructions` no tiene una bandera con el mismo nombre y se convierte en `--append-system-prompt`
738 444
739Puede configurar el comportamiento de Claude de dos formas:445Para la asignación de entrada completa y ejemplos antes y después, consulte la [guía de migración](https://github.com/anthropics/claude-code-action/blob/main/docs/migration-guide.md).
740 446
7411. **CLAUDE.md**: Defina estándares de codificación, criterios de revisión y reglas específicas del proyecto en un archivo `CLAUDE.md` en la raíz de su repositorio. Claude seguirá estas directrices al crear PR y responder a solicitudes. Consulte nuestra [documentación de Memory](/es/memory) para más detalles.447<h2 id="what’s-next">
7422. **Solicitudes personalizadas**: Use el parámetro `prompt` en el archivo de flujo de trabajo para proporcionar instrucciones específicas del flujo de trabajo. Esto le permite personalizar el comportamiento de Claude para diferentes flujos de trabajo o tareas.448 Qué sigue
449</h2>
743 450
744Claude seguirá estas directrices al crear PR y responder a solicitudes.451* [Usar Claude Code GitHub Actions con proveedores en la nube](/docs/es/github-actions-cloud-providers): enrutar la inferencia a través de Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry
452* [Referencia de configuración](https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md#inputs): la lista completa de entradas de acción
453* [Directorio de ejemplos](https://github.com/anthropics/claude-code-action/tree/main/examples): flujos de trabajo listos para usar para más escenarios
454* [Code Review](/docs/es/code-review): revisión automática de solicitudes de extracción sin mantener un archivo de flujo de trabajo