Skip to main content
Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.
GitHub AE está actualmente en un lanzamiento limitado. Por favor, contacta a nuestro equipo de ventas para conocer más sobre esto.

Utilizar condiciones para controlar la ejecución de jobs

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

Resumen

Note: A job that is skipped will report its status as "Success". It will not prevent a pull request from merging, even if it is a required check.

Puedes utilizar el condicional jobs.<job_id>.if para prevenir que un job se ejecute a menos de que una condición se cumpla. Puedes usar cualquier contexto y expresión admitidos para crear un condicional.

Podrías omitir la sintaxis de expresión cuando utilizas expresiones en un condicional if (${{ }}) ya que GitHub evalúa automáticamente el condicional if como una expresión. Para obtener más información, consulta la sección "Expresiones".

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

Este ejemplo utiliza if para controla cuándo se puede ejecutar el job production-deploy. Este solo se ejecutará si el repositorio se llama octo-repo-prod y está dentro de la organización octo-org. De otra forma, el job se marcará como skipped.

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

You would see the following status on a skipped job:

Skipped-required-run-details