Acerca de la recepción de webhooks con GitHub CLI
Al realizar cambios en el código de integración, la ejecución del código en un entorno local te permite probar e iterar rápidamente sin implementar el código. Puedes usar GitHub CLI para reenviar webhooks a tu entorno local.
Nota: El reenvío de webhooks en GitHub CLI solo funciona con webhooks de repositorio y organizativos. Si quieres probar webhooks de patrocinio, de GitHub App, empresariales o de Marketplace localmente, deberás hacerlo manualmente. Para obtener más información, vea «Crear webhooks».
Recepción de webhooks con GitHub CLI
Para más información sobre GitHub CLI, consulta "Acerca del CLI de GitHub".
-
Para instalar la extensión GitHub CLI para habilitar el reenvío de webhooks, usa el subcomando
extension install
.gh extension install cli/gh-webhook
-
Si desea reenviar webhooks de la organización, agregue el
admin:org_hook
ámbito al inicio de sesión de GitHub CLI para que tenga los permisos necesarios.gh auth refresh --scopes admin:org_hook
-
Inicia la aplicación localmente y toma nota de la dirección URL donde espera recibir los webhooks. En esta guía se supone que la aplicación escucha eventos de webhook en
http://localhost:3000/webhook
. -
Para configurar webhooks que se van a entregar a la aplicación, ejecuta el subcomando
webhook forward
. ReemplazaREPOSITORY
por el nombre del repositorio. Por ejemplo,monalisa/octocat
. ReemplazaEVENTS
por una lista separada por comas de los eventos que quieres recibir. Por ejemplo,issues,pull_request
. ReemplazaURL
por la dirección URL local donde la aplicación espera recibir webhooks. Por ejemplo,"http://localhost:3000/webhook"
. Para escuchar webhooks de organización en lugar de webhooks de repositorio, reemplaza la marca--repo
por la marca--org
. Por ejemplo,--org="octo-org"
.gh webhook forward --repo=REPOSITORY --events=EVENTS --url=URL
Deja el comando en ejecución en segundo plano. Recibirás todos los eventos especificados para el repositorio especificado y los reenviarás al controlador de webhooks que se ejecuta en la dirección URL especificada.