Ă 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.
-
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Ă©nementpush
, vous pouvez utiliser lâAPI REST pour dĂ©clencher un Ă©vĂ©nement de testpush
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 ». -
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
- Dans votre navigateur, accédez à https://smee.io/.
- Cliquez sur Démarrer un nouveau canal.
- 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
-
Si vous nâavez pas dĂ©jĂ smee-client installĂ©, exĂ©cutez la commande suivante dans votre terminal :
Shell npm install --global smee-client
npm install --global smee-client
-
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. RemplacezPATH
par le chemin dâaccĂšs ou lâitinĂ©raire gĂ©rĂ© par votre serveur. RemplacezPORT
par le port oĂč votre serveur local Ă©coute.Shell smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT
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
, etPATH
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
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.