@claude
dans n’importe quelle PR ou issue, Claude peut analyser votre code, créer des pull requests, implémenter des fonctionnalités et corriger des bugs - tout en suivant les standards de votre projet.
Claude Code GitHub Actions est construit sur le Claude Code
SDK, qui permet l’intégration programmatique de
Claude Code dans vos applications. Vous pouvez utiliser le SDK pour construire des
flux de travail d’automatisation personnalisés au-delà de GitHub Actions.
Pourquoi utiliser Claude Code GitHub Actions ?
- Création instantanée de PR : Décrivez ce dont vous avez besoin, et Claude crée une PR complète avec tous les changements nécessaires
- Implémentation automatisée de code : Transformez les issues en code fonctionnel avec une seule commande
- Suit vos standards : Claude respecte vos directives
CLAUDE.md
et les modèles de code existants - Configuration simple : Commencez en quelques minutes avec notre installateur et clé API
- Sécurisé par défaut : Votre code reste sur les runners de Github
Que peut faire Claude ?
Claude Code fournit une GitHub Action puissante qui transforme la façon dont vous travaillez avec le code :Claude Code Action
Cette GitHub Action vous permet d’exécuter Claude Code dans vos flux de travail GitHub Actions. Vous pouvez l’utiliser pour construire n’importe quel flux de travail personnalisé sur Claude Code. Voir le dépôt →Configuration
Configuration rapide
Le moyen le plus simple de configurer cette action est via Claude Code dans le terminal. Ouvrez simplement claude et exécutez/install-github-app
.
Cette commande vous guidera dans la configuration de l’application GitHub et des secrets requis.
- Vous devez être un administrateur de dépôt pour installer l’application GitHub et ajouter des secrets - Cette méthode de démarrage rapide n’est disponible que pour les utilisateurs directs de l’API Anthropic. Si vous utilisez AWS Bedrock ou Google Vertex AI, veuillez consulter la section Utilisation avec AWS Bedrock & Google Vertex AI.
Configuration manuelle
Si la commande/install-github-app
échoue ou si vous préférez la configuration manuelle, veuillez suivre ces instructions de configuration manuelle :
- Installez l’application GitHub Claude sur votre dépôt : https://github.com/apps/claude
- Ajoutez ANTHROPIC_API_KEY à vos secrets de dépôt (Apprenez comment utiliser les secrets dans GitHub Actions)
- Copiez le fichier de flux de travail depuis examples/claude.yml dans le répertoire
.github/workflows/
de votre dépôt
Après avoir terminé la configuration rapide ou manuelle, testez l’action en
taguant
@claude
dans un commentaire d’issue ou de PR !Mise à niveau depuis la Beta
Claude Code GitHub Actions v1.0 introduit des changements incompatibles qui nécessitent la mise à jour de vos fichiers de flux de travail pour passer de la version beta à la v1.0.
Changements essentiels
Tous les utilisateurs beta doivent apporter ces changements à leurs fichiers de flux de travail pour effectuer la mise à niveau :- Mettre à jour la version de l’action : Changer
@beta
en@v1
- Supprimer la configuration de mode : Supprimer
mode: "tag"
oumode: "agent"
(maintenant auto-détecté) - Mettre à jour les entrées de prompt : Remplacer
direct_prompt
parprompt
- Déplacer les options CLI : Convertir
max_turns
,model
,custom_instructions
, etc. enclaude_args
Référence des changements incompatibles
Ancienne entrée Beta | Nouvelle entrée v1.0 |
---|---|
mode | (Supprimé - auto-détecté) |
direct_prompt | prompt |
override_prompt | prompt avec variables GitHub |
custom_instructions | claude_args: --system-prompt |
max_turns | claude_args: --max-turns |
model | claude_args: --model |
allowed_tools | claude_args: --allowedTools |
disallowed_tools | claude_args: --disallowedTools |
claude_env | settings format JSON |
Exemple Avant et Après
Version beta :L’action détecte maintenant automatiquement s’il faut s’exécuter en mode interactif (répond aux mentions
@claude
) ou en mode automatisation (s’exécute immédiatement avec un prompt) basé sur votre configuration.Exemples de cas d’usage
Claude Code GitHub Actions peut vous aider avec une variété de tâches. Le répertoire d’exemples contient des flux de travail prêts à utiliser pour différents scénarios.Flux de travail de base
Utilisation des commandes slash
Automatisation personnalisée avec prompts
Cas d’usage courants
Dans les commentaires d’issue ou de PR :Meilleures pratiques
Configuration CLAUDE.md
Créez un fichierCLAUDE.md
à la racine de votre dépôt pour définir les directives de style de code, les critères de révision, les règles spécifiques au projet et les modèles préférés. Ce fichier guide la compréhension de Claude des standards de votre projet.
Considérations de sécurité
Ne commitez jamais les clés API directement dans votre dépôt !
- Ajoutez votre clé API comme secret de dépôt nommé
ANTHROPIC_API_KEY
- Référencez-la dans les flux de travail :
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
- Limitez les permissions d’action à ce qui est nécessaire seulement
- Examinez les suggestions de Claude avant de fusionner
${{ secrets.ANTHROPIC_API_KEY }}
) plutôt que de coder en dur les clés API directement dans vos fichiers de flux de travail.
Optimisation des performances
Utilisez des modèles d’issue pour fournir du contexte, gardez votreCLAUDE.md
concis et focalisé, et configurez des timeouts appropriés pour vos flux de travail.
Coûts CI
Lors de l’utilisation de Claude Code GitHub Actions, soyez conscient des coûts associés : Coûts GitHub Actions :- Claude Code s’exécute sur les runners hébergés par GitHub, qui consomment vos minutes GitHub Actions
- Voir la documentation de facturation de GitHub pour les prix détaillés et les limites de minutes
- Chaque interaction Claude consomme des tokens API basés sur la longueur des prompts et des réponses
- L’utilisation de tokens varie selon la complexité de la tâche et la taille de la base de code
- Voir la page de tarification de Claude pour les taux de tokens actuels
- Utilisez des commandes
@claude
spécifiques pour réduire les appels API inutiles - Configurez
--max-turns
approprié dansclaude_args
pour éviter les itérations excessives - Définissez des timeouts au niveau du flux de travail pour éviter les jobs qui s’emballent
- Considérez l’utilisation des contrôles de concurrence de GitHub pour limiter les exécutions parallèles
Exemples de configuration
La Claude Code Action v1 simplifie la configuration avec des paramètres unifiés :- Interface de prompt unifiée - Utilisez
prompt
pour toutes les instructions - Commandes slash - Prompts pré-construits comme
/review
ou/fix
- Passthrough CLI - N’importe quel argument CLI Claude Code via
claude_args
- Déclencheurs flexibles - Fonctionne avec n’importe quel événement GitHub
Lors de la réponse aux commentaires d’issue ou de PR, Claude répond automatiquement aux mentions @claude. Pour d’autres événements, utilisez le paramètre
prompt
pour fournir des instructions.Utilisation avec AWS Bedrock & Google Vertex AI
Pour les environnements d’entreprise, vous pouvez utiliser Claude Code GitHub Actions avec votre propre infrastructure cloud. Cette approche vous donne le contrôle sur la résidence des données et la facturation tout en maintenant la même fonctionnalité.Prérequis
Avant de configurer Claude Code GitHub Actions avec les fournisseurs cloud, vous avez besoin de :Pour Google Cloud Vertex AI :
- Un projet Google Cloud avec Vertex AI activé
- Workload Identity Federation configuré pour GitHub Actions
- Un compte de service avec les permissions requises
- Une GitHub App (recommandée) ou utilisez le GITHUB_TOKEN par défaut
Pour AWS Bedrock :
- Un compte AWS avec Amazon Bedrock activé
- Fournisseur d’identité GitHub OIDC configuré dans AWS
- Un rôle IAM avec les permissions Bedrock
- Une GitHub App (recommandée) ou utilisez le GITHUB_TOKEN par défaut
1
Créer une GitHub App personnalisée (Recommandé pour les fournisseurs 3P)
Pour un meilleur contrôle et sécurité lors de l’utilisation de fournisseurs 3P comme Vertex AI ou Bedrock, nous recommandons de créer votre propre GitHub App :Alternative pour l’API Anthropic ou si vous ne voulez pas configurer votre propre app Github : Utilisez l’app officielle Anthropic :
- Allez sur https://github.com/settings/apps/new
- Remplissez les informations de base :
- Nom de la GitHub App : Choisissez un nom unique (par exemple, “YourOrg Claude Assistant”)
- URL de la page d’accueil : Le site web de votre organisation ou l’URL du dépôt
- Configurez les paramètres de l’app :
- Webhooks : Décochez “Active” (pas nécessaire pour cette intégration)
- Définissez les permissions requises :
- Permissions de dépôt :
- Contents : Lecture & Écriture
- Issues : Lecture & Écriture
- Pull requests : Lecture & Écriture
- Permissions de dépôt :
- Cliquez sur “Create GitHub App”
- Après création, cliquez sur “Generate a private key” et sauvegardez le fichier
.pem
téléchargé - Notez votre App ID depuis la page des paramètres de l’app
- Installez l’app sur votre dépôt :
- Depuis la page des paramètres de votre app, cliquez sur “Install App” dans la barre latérale gauche
- Sélectionnez votre compte ou organisation
- Choisissez “Only select repositories” et sélectionnez le dépôt spécifique
- Cliquez sur “Install”
- Ajoutez la clé privée comme secret à votre dépôt :
- Allez dans les Paramètres de votre dépôt → Secrets and variables → Actions
- Créez un nouveau secret nommé
APP_PRIVATE_KEY
avec le contenu du fichier.pem
- Ajoutez l’App ID comme secret :
- Créez un nouveau secret nommé
APP_ID
avec l’ID de votre GitHub App
Cette app sera utilisée avec l’action actions/create-github-app-token pour générer des tokens d’authentification dans vos flux de travail.
- Installez depuis : https://github.com/apps/claude
- Aucune configuration supplémentaire nécessaire pour l’authentification
2
Configurer l'authentification du fournisseur cloud
Choisissez votre fournisseur cloud et configurez l’authentification sécurisée :
AWS Bedrock
AWS Bedrock
Configurez AWS pour permettre à GitHub Actions de s’authentifier de manière sécurisée sans stocker d’identifiants.Voir la documentation AWS pour des instructions détaillées de configuration OIDC.
Note de sécurité : Utilisez des configurations spécifiques au dépôt et accordez seulement les permissions minimales requises.Configuration requise :
-
Activer Amazon Bedrock :
- Demandez l’accès aux modèles Claude dans Amazon Bedrock
- Pour les modèles inter-régions, demandez l’accès dans toutes les régions requises
-
Configurer le fournisseur d’identité GitHub OIDC :
- URL du fournisseur :
https://token.actions.githubusercontent.com
- Audience :
sts.amazonaws.com
- URL du fournisseur :
-
Créer un rôle IAM pour GitHub Actions :
- Type d’entité de confiance : Identité web
- Fournisseur d’identité :
token.actions.githubusercontent.com
- Permissions : politique
AmazonBedrockFullAccess
- Configurer la politique de confiance pour votre dépôt spécifique
- AWS_ROLE_TO_ASSUME : L’ARN du rôle IAM que vous avez créé
OIDC est plus sécurisé que l’utilisation de clés d’accès AWS statiques car les identifiants sont temporaires et automatiquement renouvelés.
Google Vertex AI
Google Vertex AI
Configurez Google Cloud pour permettre à GitHub Actions de s’authentifier de manière sécurisée sans stocker d’identifiants.Pour des instructions de configuration détaillées, consultez la documentation Google Cloud Workload Identity Federation.
Note de sécurité : Utilisez des configurations spécifiques au dépôt et accordez seulement les permissions minimales requises.Configuration requise :
-
Activer les APIs dans votre projet Google Cloud :
- API IAM Credentials
- Security Token Service (STS) API
- API Vertex AI
-
Créer les ressources Workload Identity Federation :
- Créer un Workload Identity Pool
- Ajouter un fournisseur GitHub OIDC avec :
- Émetteur :
https://token.actions.githubusercontent.com
- Mappages d’attributs pour le dépôt et le propriétaire
- Recommandation de sécurité : Utilisez des conditions d’attribut spécifiques au dépôt
- Émetteur :
-
Créer un compte de service :
- Accordez seulement le rôle
Vertex AI User
- Recommandation de sécurité : Créez un compte de service dédié par dépôt
- Accordez seulement le rôle
-
Configurer les liaisons IAM :
- Permettez au Workload Identity Pool d’usurper l’identité du compte de service
- Recommandation de sécurité : Utilisez des ensembles de principaux spécifiques au dépôt
- GCP_WORKLOAD_IDENTITY_PROVIDER : Le nom complet de la ressource du fournisseur
- GCP_SERVICE_ACCOUNT : L’adresse email du compte de service
Workload Identity Federation élimine le besoin de clés de compte de service téléchargeables, améliorant la sécurité.
3
Ajouter les secrets requis
Ajoutez les secrets suivants à votre dépôt (Paramètres → Secrets and variables → Actions) :
Pour l’API Anthropic (Direct) :
-
Pour l’authentification API :
ANTHROPIC_API_KEY
: Votre clé API Anthropic depuis console.anthropic.com
-
Pour GitHub App (si vous utilisez votre propre app) :
APP_ID
: L’ID de votre GitHub AppAPP_PRIVATE_KEY
: Le contenu de la clé privée (.pem)
Pour Google Cloud Vertex AI
-
Pour l’authentification GCP :
GCP_WORKLOAD_IDENTITY_PROVIDER
GCP_SERVICE_ACCOUNT
-
Pour GitHub App (si vous utilisez votre propre app) :
APP_ID
: L’ID de votre GitHub AppAPP_PRIVATE_KEY
: Le contenu de la clé privée (.pem)
Pour AWS Bedrock
-
Pour l’authentification AWS :
AWS_ROLE_TO_ASSUME
-
Pour GitHub App (si vous utilisez votre propre app) :
APP_ID
: L’ID de votre GitHub AppAPP_PRIVATE_KEY
: Le contenu de la clé privée (.pem)
4
Créer les fichiers de flux de travail
Créez des fichiers de flux de travail GitHub Actions qui s’intègrent avec votre fournisseur cloud. Les exemples ci-dessous montrent des configurations complètes pour AWS Bedrock et Google Vertex AI :
Flux de travail AWS Bedrock
Flux de travail AWS Bedrock
Prérequis :
- Accès AWS Bedrock activé avec permissions de modèle Claude
- GitHub configuré comme fournisseur d’identité OIDC dans AWS
- Rôle IAM avec permissions Bedrock qui fait confiance à GitHub Actions
Nom du secret | Description |
---|---|
AWS_ROLE_TO_ASSUME | ARN du rôle IAM pour l’accès Bedrock |
APP_ID | L’ID de votre GitHub App (depuis les paramètres de l’app) |
APP_PRIVATE_KEY | La clé privée que vous avez générée pour votre GitHub App |
Le format d’ID de modèle pour Bedrock inclut le préfixe de région (par exemple,
us.anthropic.claude...
) et le suffixe de version.Flux de travail Google Vertex AI
Flux de travail Google Vertex AI
Prérequis :
- API Vertex AI activée dans votre projet GCP
- Workload Identity Federation configuré pour GitHub
- Compte de service avec permissions Vertex AI
Nom du secret | Description |
---|---|
GCP_WORKLOAD_IDENTITY_PROVIDER | Nom de ressource du fournisseur d’identité workload |
GCP_SERVICE_ACCOUNT | Email du compte de service avec accès Vertex AI |
APP_ID | L’ID de votre GitHub App (depuis les paramètres de l’app) |
APP_PRIVATE_KEY | La clé privée que vous avez générée pour votre GitHub App |
L’ID de projet est automatiquement récupéré depuis l’étape d’authentification Google Cloud, donc vous n’avez pas besoin de le coder en dur.
Dépannage
Claude ne répond pas aux commandes @claude
Vérifiez que la GitHub App est installée correctement, vérifiez que les flux de travail sont activés, assurez-vous que la clé API est définie dans les secrets du dépôt, et confirmez que le commentaire contient@claude
(pas /claude
).
CI ne s’exécute pas sur les commits de Claude
Assurez-vous que vous utilisez la GitHub App ou une app personnalisée (pas l’utilisateur Actions), vérifiez que les déclencheurs de flux de travail incluent les événements nécessaires, et vérifiez que les permissions de l’app incluent les déclencheurs CI.Erreurs d’authentification
Confirmez que la clé API est valide et a des permissions suffisantes. Pour Bedrock/Vertex, vérifiez la configuration des identifiants et assurez-vous que les secrets sont nommés correctement dans les flux de travail.Configuration avancée
Paramètres d’action
La Claude Code Action v1 utilise une configuration simplifiée :Paramètre | Description | Requis |
---|---|---|
prompt | Instructions pour Claude (texte ou commande slash) | Non* |
claude_args | Arguments CLI passés à Claude Code | Non |
anthropic_api_key | Clé API Anthropic | Oui** |
github_token | Token GitHub pour l’accès API | Non |
trigger_phrase | Phrase de déclenchement personnalisée (défaut : “@claude”) | Non |
use_bedrock | Utiliser AWS Bedrock au lieu de l’API Anthropic | Non |
use_vertex | Utiliser Google Vertex AI au lieu de l’API Anthropic | Non |
**Requis pour l’API Anthropic directe, pas pour Bedrock/Vertex
Utilisation de claude_args
Le paramètreclaude_args
accepte n’importe quels arguments CLI Claude Code :
--max-turns
: Tours de conversation maximum (défaut : 10)--model
: Modèle à utiliser (par exemple,claude-sonnet-4-20250514
)--mcp-config
: Chemin vers la configuration MCP--allowed-tools
: Liste séparée par des virgules d’outils autorisés--debug
: Activer la sortie de débogage
Méthodes d’intégration alternatives
Bien que la commande/install-github-app
soit l’approche recommandée, vous pouvez aussi :
- GitHub App personnalisée : Pour les organisations nécessitant des noms d’utilisateur de marque ou des flux d’authentification personnalisés. Créez votre propre GitHub App avec les permissions requises (contents, issues, pull requests) et utilisez l’action actions/create-github-app-token pour générer des tokens dans vos flux de travail.
- GitHub Actions manuelles : Configuration directe de flux de travail pour une flexibilité maximale
- Configuration MCP : Chargement dynamique des serveurs Model Context Protocol
Personnaliser le comportement de Claude
Vous pouvez configurer le comportement de Claude de deux façons :- CLAUDE.md : Définissez les standards de codage, les critères de révision et les règles spécifiques au projet dans un fichier
CLAUDE.md
à la racine de votre dépôt. Claude suivra ces directives lors de la création de PRs et de la réponse aux demandes. Consultez notre documentation Mémoire pour plus de détails. - Prompts personnalisés : Utilisez le paramètre
prompt
dans le fichier de flux de travail pour fournir des instructions spécifiques au flux de travail. Cela vous permet de personnaliser le comportement de Claude pour différents flux de travail ou tâches.