Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Esta versão do GitHub Enterprise foi descontinuada em 2023-03-15. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Usando condições para controlar a execução do trabalho

Impeça que um trabalho seja executado a menos que suas condições sejam atendidas.

Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.

Visão geral

Observação: um trabalho ignorado relatará seu status como "Êxito". Ele não impedirá a mesclagem de uma solicitação de pull, mesmo que seja uma verificação necessária.

Use o condicional jobs.<job_id>.if para impedir que um trabalho seja executado, a não ser que uma condição seja atendida. Você pode usar qualquer contexto e expressão compatível para criar uma condicional. Para obter mais informações sobre quais contextos têm suporte nessa chave, confira "Disponibilidade de contexto".

Ao usar expressões em um condicional if, você pode omitir a sintaxe de expressão (${{ }}), porque o GitHub avalia automaticamente o condicional if como uma expressão. Para obter mais informações, confira "Expressões".

Exemplo: Somente executar o trabalho para um repositório específico

Este exemplo usa if para controlar quando o trabalho production-deploy pode ser executado. Ele só será executado se o repositório for chamado octo-repo-prod e estiver na organização octo-org. Caso contrário, o trabalho será marcado como ignorado.

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

Você verá o seguinte status em um trabalho ignorado:

Skipped-required-run-details