Vercel y Netlify envían email cuando el deploy sale rojo. Ninguno debería poseer tu token de push. Apunta ambos webhooks salientes al mismo proyecto AlertHub y pega una URL de mensaje de Gotify. Ops que ya corre Gotify en Android recibe fallos del host sin workspace de Slack.
Las URLs de ingestión siguen siendo las de alertas de deploy Vercel y deploys de Netlify. Este post es el último tramo: critical en error (prioridad Gotify 8), info en éxito.
Gotify debe ser HTTPS y alcanzable desde internet.
A qué suscribirse
| Host | Evento | Nivel | Gotify |
|---|---|---|---|
| Vercel | deployment.error | Critical | Prioridad 8 |
| Vercel | deployment.canceled | Warning | Prioridad 5 |
| Vercel | deployment.succeeded / ready | Info | No |
| Netlify | Build fallido / notify deploy-failed | Critical | Prioridad 8 |
| Netlify | Deploy de producción correcto | Info | No |
Si GitHub Actions es la fuente de verdad en vez del host, usa Actions → ntfy (o Gotify en ese mismo proyecto). No dobles el mismo SHA de git desde Actions y Vercel salvo que quieras dos buzzes.
Configuración (una vez)
- Un proyecto en app.thealerthub.com.
ah_sourcedistinto:VercelvsNetlify. - Pega las URLs de webhook del host que ya tienes (pasos en los posts de Vercel/Netlify).
- Gotify Apps → token →
https://tu-gotify/message?token=…en Connections → Gotify.
Docs: destino Gotify. Subpath: https://example.com/gotify/message?token=….
Alerta 1: Vercel deployment.error
Mantén ah_level=critical para que Android suene. Rama o commit en el título; URL en la descripción. Los nombres de placeholders cambian — tras la primera entrega, ajusta {{payload.deployment.url}} vs {{type}} como en la guía de Vercel. Las URLs de éxito se quedan en info.
Alerta 2: Build fallido de Netlify
Netlify Notifications → Emails and webhooks → webhook saliente en deploy failed. Mismo contrato sendAlert, ah_source=Netlify. Una app de Gotify para ambos hosts; el título dice qué CDN parpadeó.
Alerta 3: Preview vs producción
Los errores de preview pueden ser warning (o un segundo proyecto AlertHub) para que un PR roto no use prioridad 8. deployment.error de producción se queda critical. Filtra en el panel por fuente si ambos comparten proyecto.
Ideas para sacarle más partido
- No hagas curl a Gotify desde un plugin de build. El webhook del host basta; rotar el token de la app ocurre en AlertHub.
- Uptime después del ship. Un deploy Vercel verde más una sonda roja: uptime + VPS → ntfy (o Gotify) en el mismo proyecto o uno hermano.
- Equipo en Mattermost. Añade Mattermost junto a Gotify — guardia híbrida.
- ntfy si no montas Gotify. Las mismas dos URLs de host, otra Connection.
Preguntas frecuentes
¿Una app de Gotify o dos?
Una basta. Usa ah_source y títulos. Dos apps si marketing vs plataforma no deben compartir pantalla de bloqueo.
¿Un preview correcto me pagina?
No si es info. Sube el nivel solo cuando quieras el teléfono.
¿Gotify self-hosted en LAN?
AlertHub no llega. Pon TLS en un reverse proxy público.
Siguientes pasos
Mantén los webhooks de Vercel y Netlify, pega Gotify y falla un deploy de preview a propósito.
Relacionado: configuración de Gotify · Vercel a Slack/Telegram · Deploys Netlify