Skip to main content

Использование условий для управления выполнением задания

Запретите выполнение задания, если не выполнены ваши условия.

Условное выражение jobs.<job_id>.if можно использовать для предотвращения выполнения задания, если условие не выполняется. Для создания условного выражения можно использовать любой поддерживаемый контекст и любое выражение. Дополнительные сведения о том, какие контексты поддерживаются в этом ключе, см. в разделе Справочник по контекстам.

Пример. Выполнение задания только для определенного репозитория

В этом примере используется if для управления выполнением задания production-deploy. Оно будет выполняться только в том случае, если репозиторий имеет имя octo-repo-prod и находится в организации octo-org. В противном случае задание будет отмечено как пропущенное.

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@v5
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats

Пропущенные задания отображают сообщение "Эта проверка пропущена".

Примечание.

Задание, пропущенное, сообщает о своем состоянии как "Успешно". Это не помешает слиянию запроса на вытягивание, даже если это обязательная проверка.

Чтобы отладить, почему задание было пропущено или запущено неожиданно, можно просмотреть логи выражения состояния задания. Дополнительные сведения см. в разделе Просмотр логов выражения состояния задания.