Skip to main content

Test de webhooks

Découvrez comment tester vos webhooks et votre code qui gÚre les livraisons de webhook.

À propos du test des webhooks

Vous pouvez tester la livraison du webhook. Ce procédé vous permet de vérifier que GitHub envoie une livraison de webhook en réponse à un événement dont vous prévoyez de déclencher une livraison de webhook.

Vous pouvez Ă©galement tester votre code qui gĂšre les livraisons de webhook Ă  l’aide de votre ordinateur ou espace de code comme serveur local et transfert de livraisons de webhook Ă  votre serveur local. Cette action vous permet de dĂ©velopper et de dĂ©boguer votre code sans dĂ©ployer votre code sur votre serveur de production.

Test de la livraison du webhook

Vous pouvez déclencher un événement de webhook et vérifier que GitHub envoit une livraison de webhook.

  1. DĂ©clenchez votre webhook. Par exemple, si vous testez un webhook de rĂ©fĂ©rentiel qui est abonnĂ© Ă  l'Ă©vĂ©nement issues, ouvrez un sujet dans le rĂ©fĂ©rentiel oĂč le webhook est configurĂ©.

    Vous pouvez Ă©galement livrer de nouveau des livraisons prĂ©cĂ©dentes de webhooks. Pour plus d’informations, consultez « Livrer de nouveau des webhooks Â».

    Si vous utilisez un webhook d’organisation ou de rĂ©fĂ©rentiel, vous pouvez Ă©galement utiliser l’API REST pour dĂ©clencher l’évĂ©nement ping pour votre webhook. Si vous utilisez un webhook de rĂ©fĂ©rentiel et que votre webhook est abonnĂ© Ă  l’évĂ©nement push, vous pouvez utiliser l’API REST pour dĂ©clencher un Ă©vĂ©nement de test push pour votre webhook. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les webhooks du rĂ©fĂ©rentiel Â» et « Points de terminaison d’API REST pour les webhooks de l’organisation Â».

  2. ContrĂŽlez GitHub pour vĂ©rifier qu’une livraison de webhook a Ă©tĂ© effectuĂ©e. Pour plus d’informations sur la façon de procĂ©der pour chaque type de webhook, consultez « Affichage des livraisons de webhook Â».

Si une livraison de webhook n’a pas Ă©tĂ© effectuĂ©e ou si une livraison de webhook a Ă©tĂ© effectuĂ©e, mais GitHub indique que la livraison a Ă©chouĂ©, reportez-vous au guide de rĂ©solution des problĂšmes pour vous aider Ă  diagnostiquer le problĂšme. Pour plus d’informations, consultez « RĂ©solution des problĂšmes liĂ©s aux webhooks Â».

Test du code webhook localement

Pour tester votre code de webhook localement sur votre ordinateur ou votre espace de code, vous pouvez utiliser une URL proxy de webhook pour transférer les webhooks de GitHub vers votre ordinateur ou votre espace de code. Vous pouvez utiliser votre ordinateur ou espace de code comme serveur local pour recevoir ces webhooks transférés.

Les sections suivantes montrent comment utiliser smee.io pour fournir une URL de proxy webhook et transférer des webhooks.

Pour obtenir des exemples spĂ©cifiques d’étapes de code et de test, consultez « Gestion des livraisons de webhooks Â».

Obtenir une URL de proxy webhook

  1. Dans votre navigateur, accédez à https://smee.io/.
  2. Cliquez sur Démarrer un nouveau canal.
  3. Copiez l’URL complĂšte sous « URL du proxy webhook ». Vous utiliserez cette URL dans la procĂ©dure d’installation suivante.

Configurer un webhook pour utiliser l’URL du proxy webhook

Configurez votre webhook pour utiliser l’URL du proxy webhook ci-dessus. Pour plus d’informations, consultez « CrĂ©ation de webhooks Â» et « Ă‰dition de webhooks Â».

À prĂ©sent, GitHub envoie des livraisons de webhook Ă  cette URL.

Démarrez un serveur local

Sur votre ordinateur ou espace de code, démarrez un serveur local. La maniÚre dont vous procédez dépend de la façon dont vous écrivez votre code pour recevoir les webhooks. Pour obtenir des exemples, consultez Gestion des livraisons de webhooks.

Vous devez vous assurer que votre code peut s’exĂ©cuter localement. Par exemple, si votre code s’appuie sur des variables d’environnement sur votre serveur en production, vous devez vous assurer que les variables d’environnement sont Ă©galement disponibles sur votre serveur local.

Vous pouvez Ă©galement trouver utile d’ajouter des instructions de journal pour vĂ©rifier que les Ă©tapes de votre code sont exĂ©cutĂ©es comme prĂ©vu.

Laissez votre serveur local en exécution pendant que vous testez votre webhook.

Transférer des webhooks

  1. Si vous n’avez pas dĂ©jĂ  smee-client installĂ©, exĂ©cutez la commande suivante dans votre terminal :

    Shell
    npm install --global smee-client
    
  2. Pour recevoir des webhooks transfĂ©rĂ©s Ă  partir de smee.io, exĂ©cutez la commande suivante dans votre terminal. Remplacez WEBHOOK_PROXY_URL par l’URL de proxy de votre webhook prĂ©cĂ©dent. Remplacez PATH par le chemin d’accĂšs ou l’itinĂ©raire gĂ©rĂ© par votre serveur. Remplacez PORT par le port oĂč votre serveur local Ă©coute.

    Shell
    smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT
    

    Vous devez voir la sortie qui ressemble à ceci, avec les espaces réservés WEBHOOK_PROXY_URL, PORT, et PATH remplacés par les valeurs que vous avez spécifiées :

    Shell
    Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:PORT/PATH
    Connected WEBHOOK_PROXY_URL
    

    À prĂ©sent, quand votre URL de proxy webhook (smee.io URL) reçoit une livraison de webhook de a envoyĂ© une livraison de webhook, que smee a reçu et transfĂ©rĂ© la livraison, et que votre serveur local a traitĂ© la livraison du webhook.

Vérifier que GitHub a envoyé la livraison

ContrĂŽlez GitHub pour vĂ©rifier qu’une livraison de webhook a Ă©tĂ© effectuĂ©e. Pour plus d’informations, consultez « Affichage des livraisons de webhook Â».

Si une livraison de webhook n’a pas Ă©tĂ© effectuĂ©e ou si une livraison de webhook a Ă©tĂ© effectuĂ©e, mais GitHub indique que la livraison a Ă©chouĂ©, reportez-vous au guide de rĂ©solution des problĂšmes pour vous aider Ă  diagnostiquer le problĂšme. Pour plus d’informations, consultez « RĂ©solution des problĂšmes liĂ©s aux webhooks Â».

Vérifiez que smee a reçu votre livraison de webhook

AccĂ©dez Ă  l’URL du proxy de votre webhook sur smee.io. Vous devriez voir un Ă©vĂ©nement qui correspond Ă  l’évĂ©nement que vous avez dĂ©clenchĂ© ou livrĂ© de nouveau. Cela indique que GitHub a correctement envoyĂ© une livraison de webhook Ă  l’URL de charge utile que vous avez spĂ©cifiĂ©e.

Si vous ne voyez pas votre livraison de webhook sur smee.io, vérifiez que votre webhook utilise votre URL de proxy webhook (URL smee.io).

Vérifiez que smee a transféré votre livraison de webhook

Dans la fenĂȘtre du terminal oĂč vous avez exĂ©cutĂ© la commande smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT, vous devriez voir quelque chose comme POST http://127.0.0.1:3000/webhook - 202. Cela indique que smee a transfĂ©rĂ© avec succĂšs votre webhook dans votre serveur local.

Si vous ne voyez pas la livraison, assurez-vous que le client smee et votre serveur local sont en cours d’exĂ©cution. Ces deux processus doivent s’exĂ©cuter dans deux fenĂȘtres diffĂ©rentes du terminal.

Vous devez aussi rechercher les erreurs dans les fenĂȘtres du terminal oĂč vous exĂ©cutez le client smee et votre serveur local. Les erreurs spĂ©cifiques dĂ©pendent de la façon dont votre code doit recevoir des webhooks Ă©crits. Pour obtenir des exemples, consultez Gestion des livraisons de webhooks.

Vérifiez que votre serveur local a traité la livraison du webhook

À ce stade, vous avez vĂ©rifiĂ© que GitHub a envoyĂ© une livraison de webhook et que smee a transfĂ©rĂ© la livraison Ă  votre serveur local. À prĂ©sent, vous devez vĂ©rifier que votre code a traitĂ© la livraison du webhook comme prĂ©vu. La maniĂšre dont vous procĂ©dez dĂ©pend de la façon dont vous Ă©crivez votre code pour recevoir les webhooks. Pour obtenir des exemples, consultez Gestion des livraisons de webhooks.