Skip to main content

Identificar las entregas de los webhooks

Aprenda a escribir código para escuchar y responder a las entregas de webhook.

Introducción

Cuando se crea un webhook, se especifica una dirección URL y se suscribe a los tipos de eventos. Cuando se produce un evento al que se suscribe el webhook, GitHub enviará una solicitud HTTP con datos sobre el evento a la dirección URL especificada. Si el servidor está configurado para escuchar las entregas de webhook en esa dirección URL, puede tomar medidas cuando reciba una.

En este artículo se describe cómo escribir código para permitir que el servidor escuche y responda a las entregas de webhook. Probarás el código mediante el equipo o el espacio de código como servidor local.

Configurar

Para probar el webhook localmente, puedes usar una dirección URL del proxy de webhook para reenviar webhooks de GitHub al equipo o codespace. En este artículo se usa smee.io para proporcionar una dirección URL del proxy de webhook y reenviar webhooks.

Obtención de una dirección URL del proxy de webhook

  1. Abra el explorador y vaya a https://smee.io/.
  2. Haz clic en Iniciar un nuevo canal.
  3. Copia la dirección URL completa en "Dirección URL del proxy de webhook". Usarás esta dirección URL en los próximos pasos de configuración.

Reenviar de webhooks

  1. Si aún no tienes instalado smee-client, ejecuta el siguiente comando en el terminal:

    Shell
    npm install --global smee-client
    
  2. Para recibir webhooks reenviados desde smee.io, ejecuta el siguiente comando en el terminal. Reemplaza WEBHOOK_PROXY_URL por la dirección URL del proxy de webhook anterior.

    Shell
    smee --url WEBHOOK_PROXY_URL --path /webhook --port 3000
    

    Deberías ver una salida con el siguiente aspecto, en la que WEBHOOK_PROXY_URL es la dirección URL del proxy del webhook.

    Shell
    Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:3000/webhook
    Connected WEBHOOK_PROXY_URL
    

    Ten en cuenta que la ruta de acceso es /webhook y el puerto es 3000. Usarás estos valores más adelante al escribir código para gestionar las entregas de webhook.

  3. Deja que se ejecute mientras pruebas el webhook. Cuando quieras detener el reenvío de webhooks, escribe Ctrl+C.

Creación de un webhook

  1. Crea un webhook con la siguiente configuración: Para más información, consulta Crear webhooks.

    • Para la dirección URL, usa la dirección URL del proxy de webhook anterior.
    • Si tienes la opción de elegir el tipo de contenido, usa JSON.

Escritura de código para gestionar las entregas de webhook

Para controlar las entregas de webhook, debes escribir código que haga lo siguiente:

  • Inicializar el servidor para escuchar las solicitudes a la dirección URL del webhook
  • Leer los encabezados HTTP y el cuerpo de la solicitud
  • Realizar la acción deseada en respuesta a la solicitud

Puedes usar cualquier lenguaje de programación que se pueda ejecutar en el servidor.

En los ejemplos siguientes se imprime un mensaje cuando se recibe una entrega de webhook. Sin embargo, puedes modificar el código para realizar otra acción, como realizar una solicitud a la API GitHub o enviar un mensaje de Slack.