Skip to main content

Utilisation de l'interface CLI GitHub pour transférer des webhooks à des fins de test

Vous pouvez utiliser l’GitHub CLI pour tester des webhooks dans votre environnement de développement sans la complexité associées au transfert de port ou à des outils tiers.

À propos de la réception de webhooks avec l’GitHub CLI

Lorsque vous apportez des modifications à votre code d’intégration, l’exécution du code dans un environnement local vous permet d’effectuer des tests et des itérations rapidement sans déployer le code. Vous pouvez utiliser l’GitHub CLI pour transférer des webhooks vers votre environnement local.

Le transfert de webhooks dans GitHub CLI fonctionne seulement avec les webhooks de dépôt et d’organisation. Si vous souhaitez tester d’autres types de webhooks localement, vous devez le faire manuellement. Pour plus d’informations, consultez « Test de webhooks ».

Avertissement : Le transfert de webhooks est conçu seulement pour être utilisé lors des tests et du développement. Il n’est pas pris en charge pour une utilisation dans les environnements de production pour la gestion des webhooks dynamiques.

Réception de webhooks avec l’GitHub CLI

Pour plus d’informations sur GitHub CLI, consultez « À propos de GitHub CLI ».

  1. Pour installer l’extension GitHub CLI afin d’activer le transfert de webhooks, utilisez la sous-commande extension install.

    gh extension install cli/gh-webhook
    
  2. Si vous souhaitez transférer des webhooks d’organisation, ajoutez l’étendue admin:org_hook à votre connexion GitHub CLI afin d’avoir les autorisations requises.

    gh auth refresh --scopes admin:org_hook
    
  3. Démarrez votre application localement, puis notez l’URL où elle s’attend à recevoir des webhooks. Ce guide suppose que votre application écoute les événements de webhook à l’adresse http://localhost:3000/webhook.

  4. Pour configurer des webhooks à remettre à votre application, exécutez la sous-commande webhook forward. Remplacez REPOSITORY par le nom de votre dépôt. Par exemple : monalisa/octocat. Remplacez EVENTS par une liste séparée par des virgules des événements que vous souhaitez recevoir. Par exemple : issues,pull_request. Remplacez URL par l’URL locale où votre application s’attend à recevoir des webhooks. Par exemple : "http://localhost:3000/webhook". Pour écouter des webhooks d’organisation plutôt que des webhooks de dépôt, remplacez l’indicateur --repo par l’indicateur --org. Par exemple, --org="octo-org".

    gh webhook forward --repo=REPOSITORY --events=EVENTS --url=URL
    

Laissez la commande s’exécuter en arrière-plan. Elle recevra tous les événements spécifiés pour le dépôt indiqué et les transfère à votre gestionnaire de webhooks en cours d’exécution à l’URL spécifiée.

Remarque : Une seule personne peut utiliser le transfert de webhooks à la fois pour chaque dépôt et chaque organisation. Si vous essayez de configurer le transfert de webhooks et qu’une autre personne travaille déjà avec cette organisation ou ce dépôt, vous recevez une erreur Hook already exists.