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.
El reenvío de webhooks en GitHub CLI solo funciona con webhooks de repositorio y de la organización. Si desea probar otros tipos de webhooks localmente, deberá hacerlo manualmente. Para obtener más información, vea «Prueba de webhooks».
Advertencia: el reenvío de webhooks está diseñado para usarlo solo en pruebas y durante la fase de desarrollo. No se admite su uso en entornos de producción para controlar webhooks activos.
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.
Nota: No puede haber varias personas reenviando webhooks a la vez en un solo repositorio y organización. Si intentas configurar el reenvío de webhook y hay otra persona que está trabajando con esa organización o repositorio, recibirás un error Hook already exists
.