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

スキップされたジョブには、"This check was skipped" というメッセージが表示されます。

メモ

スキップされたジョブは、その状態が "成功" として報告されます。 必要なチェックであっても、pull request のマージを妨げるものではありません。