Обзор
Примечание.
Задание, пропущенное, сообщает о своем состоянии как "Успешно". Это не помешает слиянию запроса на вытягивание, даже если это обязательная проверка.
Условное выражение jobs.
можно использовать для предотвращения выполнения задания, если условие не выполняется. Для создания условного выражения можно использовать любой поддерживаемый контекст и любое выражение. Дополнительные сведения о том, какие контексты поддерживаются в этом ключе, см. в разделе Доступ к контекстной информации о запусках рабочих процессов.
Примечание.
Условие jobs.
вычисляется перед jobs.
применением.
При использовании выражений в условном if
режиме можно, при необходимости, опустить синтаксис выражения ${{ }}
, так как GitHub Actions автоматически вычисляет условное if
выражение как выражение. Однако это исключение не применяется везде.
Всегда следует использовать синтаксис выражения ${{ }}
{% концевого выражения %} или экранировать с ''
, ""
либо ()
когда выражение начинается с !
, так как !
зарезервировано нотация в формате YAML. Например:
{% raw %}
if: ${{ ! startsWith(github.ref, 'refs/tags/') }}
Дополнительные сведения см. в разделе Оценка выражений в рабочих процессах и действиях.
Пример. Выполнение задания только для определенного репозитория
В этом примере используется if
для управления выполнением задания production-deploy
. Оно будет выполняться только в том случае, если репозиторий имеет имя octo-repo-prod
и находится в организации octo-org
. В противном случае задание будет отмечено как пропущенное.
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
В пропущенном задании должно появиться сообщение "Эта проверка была пропущена".
Примечание.
В некоторых частях рабочего процесса нельзя использовать переменные среды. Вместо этого можно использовать контексты для доступа к значению переменной среды. Дополнительные сведения см. в разделе Хранение сведений в переменных.