# 条件を使用してジョブの実行を制御する

条件が満たされない限り、ジョブが実行されないようにします。

`jobs.<job_id>.if` 条件文を使って、条件が満たされなければジョブを実行しないようにできます。 条件文を作成するには、サポートされている任意のコンテキストや式が使えます。 このキーでサポートされているコンテキストの詳細については、「[コンテキスト リファレンス](/ja/actions/reference/workflows-and-actions/contexts#context-availability)」を参照してください。

### 例: 特定のリポジトリに対してだけジョブを実行する

この例では `if` を使って `production-deploy` ジョブを実行できるタイミングを制御しています。 リポジトリが `octo-repo-prod` という名前で、`octo-org` という組織内にある場合のみ実行されます。 それ以外の場合、ジョブはスキップ済みとしてマーク *されます*。

```yaml copy
name: example-workflow
on: [push]
jobs:
  production-deploy:
    if: ${{ github.repository == 'octo-org/octo-repo-prod' }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v7
        with:
          node-version: '14'
      - run: npm install -g bats
```

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

> \[!NOTE]
> スキップされたジョブは、その状態が "成功" として報告されます。 要求されたチェックであっても、プルリクエストのマージを妨げることはありません。

ジョブがスキップまたは予期せず実行された理由をデバッグするには、ジョブ条件式ログを表示できます。 詳しくは、「[ジョブ条件式ログの表示](/ja/actions/how-tos/monitor-workflows/view-job-condition-logs)」をご覧ください。