Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.

Поддержка этой версии GitHub Enterprise была прекращена 2023-03-15. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

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

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

Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.

Обзор

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

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

При использовании выражений в условной директиве if можно пропустить синтаксис выражения (${{ }}), так как GitHub автоматически обрабатывает условную директиву 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@v2
      - uses: actions/setup-node@v2
        with:
          node-version: '14'
      - run: npm install -g bats

В пропущенном задании отобразится следующее состояние:

Skipped-required-run-details

Примечание: В некоторых частях рабочего процесса нельзя использовать переменные среды. Вместо этого можно использовать контексты для доступа к значению переменной среды. Дополнительные сведения см. в разделе Переменные.