Skip to main content

Utilizar condiciones para controlar la ejecución de jobs

Prevenir que un job se ejecute a menos de que tus condiciones se cumplan.

Nota: Actualmente los ejecutores hospedados en GitHub no se admiten en GitHub Enterprise Server. Puede ver más información sobre la compatibilidad futura planeada en GitHub public roadmap.

Información general

Nota: Si se omite un trabajo, notificará su estado como "Correcto". No impedirá que una solicitud de incorporación de cambios se combine, incluso si es una comprobación necesaria.

Puede usar el condicional jobs.<job_id>.if para impedir que se ejecute una tarea si no se cumple una condición. Puedes usar cualquier contexto y expresión admitidos para crear un condicional.

Al usar expresiones en una condicional if, puede omitir la sintaxis de la expresión (${{ }}) porque GitHub evalúa de forma automática la condicional if como una expresión. Para más información, vea "Expresiones".

Ejemplo: Solo ejecutar un job para un repositorio específico

En este ejemplo se usa if para controlar cuándo se puede ejecutar el trabajo production-deploy. Solo se ejecutará si el repositorio se denomina octo-repo-prod y está dentro de la organización octo-org. De lo contrario, el trabajo se marcará como omitido.

YAML
name: example-workflow
on: [push]
jobs:
  production-deploy:
    if: github.repository == 'octo-org/octo-repo-prod'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: '14'
      - run: npm install -g bats

Verías el siguiente estado en un trabajo omitido:

Detalles de una ejecución requerida que se ha omitido