Saltar al contenido principal
Logo de JSCamp

Flujo de trabajo manual

Aprende a crear y ejecutar workflows manuales en GitHub Actions utilizando workflow_dispatch, definiendo parámetros de entrada y personalizando la ejecución de tus automatizaciones desde la interfaz de GitHub.

midudev

Más clases y directos en YouTube

Suscribirse

🎮 Flujo de trabajo manual

Hasta ahora los workflows de GitHub Actions suelen ejecutarse automáticamente cuando ocurre un evento determinado, como un push o la creación de una pull request.

Sin embargo, existen situaciones donde resulta útil lanzar una automatización únicamente cuando un usuario lo decide.

Para ello GitHub proporciona el evento workflow_dispatch.

🚀 Qué es workflow_dispatch

workflow_dispatch permite ejecutar un workflow manualmente desde la interfaz de GitHub.

En lugar de esperar a que ocurra un evento automático, cualquier usuario con permisos adecuados puede iniciar la ejecución cuando lo necesite.

Esto resulta especialmente útil para:

  • Despliegues bajo demanda
  • Tareas de mantenimiento
  • Procesos de validación manual
  • Ejecuciones de pruebas específicas
  • Automatizaciones administrativas

⚙️ Configuración básica

Para habilitar la ejecución manual únicamente es necesario añadir el evento:

on:  workflow_dispatch:

Una vez definido, GitHub mostrará un botón Run workflow dentro de la pestaña Actions del repositorio.

Desde allí será posible lanzar el workflow cuando sea necesario.

📝 Definiendo parámetros de entrada

Una de las ventajas más interesantes de workflow_dispatch es que permite solicitar información al usuario antes de iniciar la ejecución.

Estos datos se definen mediante inputs.

Por ejemplo:

on:  workflow_dispatch:    inputs:      logging_level:        description: Nivel de logging        required: true      environment:        description: Entorno de despliegue        required: true      dry_run:        description: Ejecutar en modo simulación        required: true      reason:        description: Motivo de la ejecución        required: true

Cuando se ejecute el workflow, GitHub mostrará un formulario para completar estos valores.

🔍 Accediendo a los inputs

Los parámetros proporcionados por el usuario pueden utilizarse dentro del workflow mediante el contexto inputs.

Por ejemplo:

${{ inputs.logging_level }}${{ inputs.environment }}${{ inputs.dry_run }}${{ inputs.reason }}

Esto permite adaptar el comportamiento del workflow según los valores introducidos en cada ejecución.

🧪 Mostrando los valores recibidos

Una forma sencilla de comprobar que los parámetros están llegando correctamente es mostrarlos durante la ejecución:

steps:  - name: Mostrar todos los inputs    env:      LOG_LEVEL: ${{ inputs.logging_level }}      ENVIRONMENT: ${{ inputs.environment }}      DRY_RUN: ${{ inputs.dry_run }}      REASON: ${{ inputs.reason }}    run: |      echo "LOG_LEVEL: $LOG_LEVEL"      echo "ENVIRONMENT: $ENVIRONMENT"      echo "DRY_RUN: $DRY_RUN"      echo "REASON: $REASON"

De esta manera es posible verificar rápidamente qué información recibió el workflow.

🎯 Casos de uso habituales

Los workflows manuales suelen utilizarse para tareas como:

🚢 Despliegues controlados

Permiten seleccionar el entorno de destino antes de iniciar una publicación.

🧹 Mantenimiento

Facilitan la ejecución de tareas administrativas cuando sea necesario.

🧪 Pruebas específicas

Posibilitan lanzar pruebas concretas sin necesidad de realizar commits adicionales.

🔄 Operaciones puntuales

Resultan ideales para acciones que no deben ejecutarse automáticamente.

📌 Ideas clave de esta clase

Quédate con estos conceptos:

  • workflow_dispatch permite ejecutar workflows manualmente.
  • Los workflows pueden iniciarse desde la interfaz de GitHub.
  • Es posible solicitar información al usuario mediante inputs.
  • Los parámetros recibidos se acceden usando inputs.
  • Los valores pueden utilizarse para personalizar la ejecución.
  • Los workflows manuales son ideales para despliegues y tareas bajo demanda.

🚀 Lo siguiente

Ahora que ya sabes cómo lanzar workflows manualmente y recibir parámetros de entrada, el siguiente paso es aprovechar esos datos para crear automatizaciones más flexibles y adaptables a distintos escenarios.

Los inputs permiten convertir un workflow estático en una herramienta reutilizable capaz de comportarse de forma diferente según las necesidades de cada ejecución.


💡 Tip: Utiliza workflow_dispatch siempre que una automatización requiera supervisión humana o decisiones previas antes de ejecutarse. Esto aporta flexibilidad sin perder las ventajas de GitHub Actions.