Inicio / Documentación / GitHub Actions
Notificaciones push desde GitHub Actions
Deja de actualizar la pestaña Actions. Añade un solo paso curl a cualquier flujo de trabajo y Pling envía el resultado de la compilación directamente a tu iPhone, con un enlace en el que puedes tocar para volver a la ejecución. No hay ninguna acción del Marketplace en la que confiar ni ningún complemento de runner que instalar, solo la API HTTP de Pling.
El único paso que necesitas
Añade tu token como un secreto del repositorio llamado PLING_TOKEN (Settings → Secrets and variables → Actions) y luego incorpora este paso en cualquier trabajo:
- name: Notify my phone
run: |
curl -sf -X POST https://api.plingpush.com/api/push \
-H "Content-Type: application/json" \
-d '{"token":"${{ secrets.PLING_TOKEN }}","title":"Deploy succeeded","message":"${{ github.repository }} on ${{ github.ref_name }}","channel":"ci","priority":"normal"}'
Notificar solo cuando algo falla
La mayoría de las veces solo te importan las compilaciones en rojo. El condicional if: failure() ejecuta el paso únicamente cuando un paso anterior del trabajo falló:
- name: Push on failure
if: failure()
run: |
curl -sf -X POST https://api.plingpush.com/api/push \
-H "Content-Type: application/json" \
-d '{"token":"${{ secrets.PLING_TOKEN }}","title":"CI failed","message":"${{ github.workflow }} on ${{ github.ref_name }}","priority":"high"}'
Informa de cada resultado, con un enlace de vuelta
Usa if: always() para que el paso se ejecute tanto si el trabajo se completó correctamente como si falló, y pasa ${{ job.status }} más una url sobre la que se pueda tocar de vuelta a la ejecución:
- name: Push build result
if: always()
run: |
curl -sf -X POST https://api.plingpush.com/api/push \
-H "Content-Type: application/json" \
-d "{\"token\":\"${{ secrets.PLING_TOKEN }}\",\"title\":\"CI ${{ job.status }}\",\"message\":\"${{ github.workflow }} on ${{ github.ref_name }}\",\"priority\":\"high\",\"url\":\"${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\"}"
Toca la notificación en tu teléfono y abre la ejecución exacta en GitHub. Agrupa tus alertas de CI con el campo channel para que se mantengan separadas de tus otros pushes.
Preguntas frecuentes
¿Necesito una acción de GitHub Marketplace?
No. Pling es un endpoint HTTP sencillo, así que un solo paso con curl es todo lo que necesitas. Eso significa ninguna acción de terceros en tu cadena de suministro y nada que mantener actualizado.
¿Cómo notifico solo cuando falla la compilación?
Añade if: failure() al paso de notificación. GitHub solo lo ejecuta cuando un paso anterior del trabajo ha fallado, así que recibes un push para las compilaciones en rojo y silencio para las verdes.
¿Puede la notificación push enlazar de vuelta a la ejecución del workflow?
Sí. Define el campo url como ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} y la notificación se vuelve pulsable, abriendo la ejecución en GitHub.
¿Se filtrará mi token en los registros?
Guárdalo como el secreto de repositorio PLING_TOKEN. GitHub enmascara los secretos en los registros automáticamente, y el valor nunca aparece en tu archivo de flujo de trabajo.
Más recetas: Trabajos cron · Python · referencia completa de la API