Skip to content

Crear un único webhook de Next

Ahora vamos a conectar GitHub con el receptor configurado. Necesitás el túnel actual hacia lab-app:3000, su hostname público real y el secret privado de .env.local. Podés hacerlo con Hermes CLI en lab-agent, en /workspace, o desde el navegador de tu repo propio. La branch no cambia.

Elegí una sola forma. Si creás uno con Hermes y otro a mano para la misma URL, vas a recibir entregas duplicadas con IDs distintos. Eso no prueba la deduplicación por GUID.

En cualquiera de las opciones, reemplazá TU_URL_PUBLICA por el hostname que imprimió el túnel actual, sin https:// ni rutas. Antes de guardar, fijate que la URL final tenga un solo https:// y termine en /api/github.

Delegar a Hermes

Si elegís Hermes, su PAT debe incluir Webhooks: Read and write. Sólo con ese permiso enviá esta tarea, sin incluir secretos en el mensaje:

Configurá un único webhook en TU_USUARIO/REPO.
URL: https://TU_URL_PUBLICA/api/github
Usá el secret de .env.local sin mostrarlo.
Content type: application/json. Sólo Pull requests y TLS verificado.
No dupliques ni toques hooks de otros servicios.
No modifiques hooks ajenos ni permisos del repositorio.
Mostrá URL, eventos y estado, sin credenciales.
Indicá cómo encontrarlo y comprobarlo desde la web.
Alternativa web: crear el mismo hook sin delegar

En tu repo abrí Settings → Webhooks → Add webhook:

  1. Payload URL: https://TU_URL_PUBLICA/api/github, con hostname de tu túnel actual.
  2. Content type: application/json.
  3. Secret: el mismo valor privado configurado en WEBHOOK_SECRET.
  4. Let me select individual events → Pull requests únicamente.
  5. Conservá SSL verification habilitado, marcá Active y guardá.

El secret no es el bot token de Telegram ni la API key del modelo. No lo pegues en la URL.

Lista de webhooks en Settings de un repositorio de GitHub

Captura de referencia del taller; no acredita una ejecución propia. Los campos y cuentas visibles son ejemplos.

Después de crear el hook, abrí Settings → Webhooks. Debe haber exactamente uno de esta práctica, con el hostname actual, path /api/github, JSON, Pull requests y TLS verificado. Identificá su ID y dónde consultar sus entregas. No hace falta copiar una secuencia de PATCH a la API.

El ping inicial puede fallar mientras Next todavía no haya leído la configuración nueva. Ese ping no reemplaza la prueba de PR que vamos a hacer. No sigas si creaste dos hooks equivalentes, usaste otro repo o deshabilitaste la verificación TLS. Corregí sólo el hook de tu práctica, sin alterar servicios ajenos.