Guía GitHub Actions

Monitoriza un workflow programado de GitHub Actions

Los workflows programados fallan en silencio cuando Actions está desactivado, los secrets caducan o un paso da error. Un paso final con curl demuestra que el job terminó con éxito.

Antes de empezar

Crea un monitor con la frecuencia real de tu workflow y copia su URL desde el panel. Su token es secreto: no lo publiques.

Módulo a usar : workflow · curl. Colócalo después de la última acción útil en la ruta de éxito.

Configuración

1

Copia la URL del monitor en un secret

Crea un monitor que coincida con tu calendario (por ejemplo 0 6 * * * → diario). En el repo: Settings → Secrets and variables → Actions → New repository secret llamado VERIFAGENT_URL con la URL de ping completa.

https://verifagent.com/api/ping/your-ping-token
2

Añade un paso final de heartbeat

Coloca curl después de los pasos de trabajo real para que un build fallido nunca haga ping. Usa el secret — nunca hagas commit del token.

name: Nightly job on: schedule: - cron: "0 6 * * *" workflow_dispatch: jobs: run: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Ejecutar el trabajo real run: ./scripts/nightly.sh - name: Ping Verifagent run: curl -fsS "${{ secrets.VERIFAGENT_URL }}"
3

Opcional: fallar el job si el ping falla

curl -fsS ya falla el paso con respuestas distintas de 2xx. Mantenlo al final para llegar solo si los pasos anteriores tuvieron éxito.

- name: Ping Verifagent run: curl -fsS "${{ secrets.VERIFAGENT_URL }}"
4

Ejecuta workflow_dispatch una vez

Desde la pestaña Actions, ejecuta el workflow manualmente. El paso de ping debería mostrar 200 y {"ok":true}. Confirma Up en Verifagent.

{"ok":true}
El heartbeat debe ser el último paso de la ruta de éxito. Ajusta el periodo esperado de Verifagent al cron del calendario; define el margen por encima del retraso de cola del runner (a menudo 10–30 minutos para jobs diarios).

Rutas disponibles

La URL base basta para un heartbeat. Las variantes enriquecen el historial si tu plataforma tiene varias ramas.

GET https://YOUR_PING_URL
POST https://YOUR_PING_URL/success
POST https://YOUR_PING_URL/fail?msg=Error

Verificar

Tras una ejecución en verde, el monitor está Up. Desactiva el workflow o falla un paso temprano: no debería llegar ningún ping y Verifagent abrirá un incidente tras periodo + margen.

Respuesta esperada: 200 {"ok":true}. El monitor pasa de Pending a Up.