# Prueba de webhooks

Aprenda a probar los webhooks y el código que controla las entregas de webhook.

## Acerca de las pruebas de los webhooks

Puede probar la entrega de webhook. Esto le permitirá comprobar que GitHub envía una entrega de webhook en respuesta a un evento que espera desencadenar una entrega de webhook.

También puede probar su código que maneja las entregas de webhook usando su equipo o espacio de código como servidor local y reenviar las entregas de webhook a su servidor local. Esto le permitirá desarrollar y depurar el código sin implementar el código en el servidor de producción.

## Prueba de la entrega de webhook

Puede desencadenar un evento webhook y verificar que GitHub envió una entrega webhook.

1. Activa tu webhook. Por ejemplo, si está probando un webhook del repositorio que está suscrito al evento `issues`, abra una incidencia en el repositorio donde esté configurado el webhook.

   También puedes volver a entregar una entrega anterior de webhook. Para más información, consulta [Entregar webhooks](/es/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks).

   Si usas un webhook de organización o repositorio, también puedes usar la API de REST para desencadenar el evento `ping` para el webhook. Si usas un webhook de repositorio y el webhook se suscribe al evento `push`, puedes usar la API de REST para desencadenar un evento `push` de prueba para el webhook. Para más información, consulta [Puntos de conexión de la API de REST para los webhooks de repositorio](/es/rest/webhooks/repos) y [Puntos de conexión de API REST para webhooks de organización](/es/rest/orgs/webhooks).

2. Compruebe GitHub para verificar que se ha enviado una entrega webhook. Para obtener información sobre cómo hacerlo para cada tipo de webhook, consulta [Visualizar las entregas de los webhooks](/es/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries).

Si no se envió una entrega de webhook o si se envió una entrega de webhook, pero GitHub indica que se produjo un error en la entrega, consulte la guía de solución de problemas para ayudar a diagnosticar el problema. Para más información, consulta [Solución de problemas de webhooks](/es/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks).

## Prueba local del código de webhook

Para probar su código webhook localmente en su ordenador o espacio de código, puede utilizar una URL proxy webhook para reenviar los webhooks de GitHub a su ordenador o espacio de código. Puede usar el equipo o el espacio de código como servidor local para recibir estos webhooks reenviados.

En las secciones siguientes se muestra cómo usar smee.io para proporcionar una dirección URL de proxy de webhook y reenviar webhooks.

Para obtener ejemplos específicos de los pasos de código y pruebas, consulta [Gestionar las entregas de los webhooks](/es/webhooks/using-webhooks/handling-webhook-deliveries).

### Obtén una URL de 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.

### Configuración de un webhook para usar la dirección URL del proxy de webhook

Configure el webhook para usar la dirección URL del proxy de webhook anterior. Para más información, consulta [Crear webhooks](/es/webhooks/using-webhooks/creating-webhooks) y [Editar los webhooks](/es/webhooks/using-webhooks/editing-webhooks).

Ahora, GitHub enviará entregas de webhook a esa dirección URL.

### Inicie un servidor local

En el equipo o el espacio de código, inicie un servidor local. La forma de hacerlo depende de cómo se escriba el código para recibir webhooks. Para ejemplos, consulta [Gestionar las entregas de los webhooks](/es/webhooks/using-webhooks/handling-webhook-deliveries).

Debe asegurarse de que el código se puede ejecutar localmente. Por ejemplo, si el código se basa en variables de entorno en el servidor en producción, debe asegurarse de que las variables de entorno también están disponibles en el servidor local.

También puede resultar útil agregar instrucciones de registro para que pueda comprobar que los pasos del código se ejecutan según lo previsto.

Mantenga su servidor local en funcionamiento mientras prueba el webhook.

### Reenviar de webhooks

1. Si aún no tienes instalado [smee-client](https://www.npmjs.com/package/smee-client), ejecuta el siguiente comando en el terminal:

   ```shell copy
   npm install --global smee-client
   ```

2. Para recibir webhooks reenviados desde smee.io, ejecuta el siguiente comando en el terminal. Reemplaza la URL del proxy de webhook anterior con `WEBHOOK_PROXY_URL`. Reemplaza `PATH` por la ruta que controlará el servidor. Reemplaza `PORT` con el puerto donde el servidor local está escuchando.

   ```shell copy
   smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT
   ```

   Debería ver la salida que tiene este aspecto, con los marcadores de posición `WEBHOOK_PROXY_URL`, `PORT` y `PATH` reemplazados por los valores especificados:

   ```shell copy
   Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:PORT/PATH
   Connected WEBHOOK_PROXY_URL
   ```

   Ahora, cuando la dirección URL del proxy de webhook (smee.io URL) recibe una entrega de webhook de GitHub, smee reenvía la entrega del webhook al servidor local.

3. Deja que se ejecute mientras pruebas el webhook. Cuando quiera detener el reenvío de webhooks, ingrese <kbd>Ctrl</kbd>+<kbd>C</kbd>.

En este punto, debe tener el servidor local en ejecución y el reenvío de smee en ejecución.

### Desencadenar una entrega de webhook

Activa tu webhook. Por ejemplo, si está probando un webhook del repositorio que está suscrito al evento `issues`, abra una incidencia en el repositorio donde esté configurado el webhook.

También puedes volver a entregar una entrega anterior de webhook. Para más información, consulta [Entregar webhooks](/es/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks).

### Comprobación de la entrega

Puede comprobar que GitHub envió una entrega de webhook, que smee recibió y reenvió la entrega y que el servidor local procesó la entrega del webhook.

#### Asegúrese de que GitHub envió una entrega

Compruebe GitHub para verificar que se ha enviado una entrega webhook. Para más información, consulta [Visualizar las entregas de los webhooks](/es/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries).

Si no se envió una entrega de webhook o si se envió una entrega de webhook, pero GitHub indica que se produjo un error en la entrega, consulte la guía de solución de problemas para ayudar a diagnosticar el problema. Para más información, consulta [Solución de problemas de webhooks](/es/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks).

#### Comprobación de que smee recibió la entrega del webhook

Vaya a la dirección URL del proxy del webhook en smee.io. Deberías ver un evento que corresponde al evento que desencadenaste o volviste a entregar. Esto indica que GitHub envió correctamente una entrega de webhook a la dirección URL de carga especificada.

Si no ve la entrega de webhook en smee.io, compruebe que el webhook usa la dirección URL del proxy de webhook (smee.io URL).

#### Comprobación de que smee reenviaba la entrega del webhook

En la ventana de terminal en la que ejecutaste `smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT`, deberías ver algo parecido a `POST http://127.0.0.1:3000/webhook - 202`. Esto indica que smee reenvió correctamente el webhook al servidor local.

Si no lo ve, asegúrese de que tanto el cliente smee como su servidor local se están ejecutando. Debería tener estos procesos ejecutándose en dos ventanas de terminal independientes.

También debe comprobar si hay errores en las ventanas de terminal donde está ejecutando el cliente smee y en su servidor local. Los errores específicos dependen de cómo se escribe el código para recibir webhooks. Para ejemplos, consulta [Gestionar las entregas de los webhooks](/es/webhooks/using-webhooks/handling-webhook-deliveries).

#### Compruebe que el servidor local procesó la entrega del webhook

En este momento, ha comprobado que GitHub envió una entrega de webhook y que smee reenvía la entrega al servidor local. Ahora, debe comprobar que el código procesó la entrega del webhook según lo previsto. La forma de hacerlo depende de cómo se escriba el código para recibir webhooks. Para ejemplos, consulta [Gestionar las entregas de los webhooks](/es/webhooks/using-webhooks/handling-webhook-deliveries).