Skip to main content
ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

Using conditions to control job execution

Prevent a job from running unless your conditions are met.

ノート: GitHubホストランナーは、現在GitHub Enterprise Serverでサポートされていません。 GitHubパブリックロードマップで、計画されている将来のサポートに関する詳しい情報を見ることができます。

概要

Note: A job that is skipped will report its status as "Success". It will not prevent a pull request from merging, even if it is a required check.

jobs.<job_id>.if条件文を使って、条件が満たされていなければジョブを実行しないようにすることができます。 条件文を作成するには、サポートされている任意のコンテキストや式が使えます。

if 条件の中で式を使用する際には、式構文 (${{ }})を省略できます。これは、GitHub が if 条件を式として自動的に評価するためです。 詳しい情報については「」を参照してください。

例: 特定のリポジトリのジョブだけを実行する

この例はifを使っていつproduction-deployジョブが実行できるかを制御しています。 このジョブは、リポジトリの名前がocto-repo-prodで、octo-orgというOrganization内にあるときだけ実行されます。 そうでない場合、このジョブはskippedとマークされます。

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

You would see the following status on a skipped job:

Skipped-required-run-details