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. Para más información sobre los contextos que se admiten en esta clave, consulta "Contextos".
Nota: La jobs.<job_id>.if
condición se evalúa antes de jobs.<job_id>.strategy.matrix
aplicarse.
Cuando se usan expresiones en un condicional if
, se puede omitir la sintaxis de la expresión ${{ }}
, porque GitHub Actions evalúa automáticamente el condicional if
como una expresión. Sin embargo, esta regla no se aplica en todas partes.
Debes usar la sintaxis de expresión ${{ }}
o escapar con ''
, ""
o ()
cuando la expresión comienza con !
, ya que !
es una notación reservada en formato YAML.
El uso de la sintaxis de expresión ${{ }}
convierte el contenido en una cadena y las cadenas son verdaderas. Por ejemplo, if: true && ${{ false }}
se evalúa como true
. Para más información, consulta "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.
name: example-workflow on: [push] jobs: production-deploy: if: github.repository == 'octo-org/octo-repo-prod' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '14' - run: npm install -g bats
name: example-workflow
on: [push]
jobs:
production-deploy:
if: github.repository == 'octo-org/octo-repo-prod'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '14'
- run: npm install -g bats
En un trabajo omitido, debería ver "Esta comprobación se omitió".
Nota: En algunas partes del flujo de trabajo no puede usar variables de entorno. En su lugar, puede usar contextos para acceder al valor de una variable de entorno. Para obtener más información, vea «variables».