Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

必要なワークフロー

組織内のすべてのリポジトリまたは選択したリポジトリで、必須の状態チェックとして実行するワークフローを指定できます。

メモ: 必要なワークフローは現在ベータ版であり、変更される可能性があります。

概要

任意のターゲット ブランチに対して開かれたすべての pull request に、組織内のリポジトリで実行する必要があるワークフローを構成できます。 必要なワークフローを使用すると、現在および将来のリポジトリに適用される組織全体の CI/CD ポリシーを実装できます。 必要なワークフローは pull request イベントによってトリガーされ、必須の状態チェックとして表示されます。これにより、必要なワークフローが成功するまで pull request をマージする機能がブロックされます。

必要なワークフローは、再利用可能なワークフローと同じではありません。 再利用可能なワークフローは、別のワークフローによって呼び出すことができます。 必要なワークフローは、組織の所有者によってリポジトリに適用されます。

前提条件

必要なワークフローを構成する前に、次の前提条件にご注意ください。

  • 必要なワークフローが実行されるように、Organization の設定で、リポジトリに対して GitHub Actions を有効にする必要があります。 Organization レベルで有効にすると、リポジトリの設定で GitHub Actions が無効になっている場合にも、必要なワークフローが実行されます。 組織のリポジトリでの GitHub Actions の管理の詳細については、「Organization について GitHub Actions を無効化または制限する」を参照してください。
  • 必要なワークフローは、必須ステータス チェックが Organization の計画でサポートされているリポジトリ内でのみ、Organization で使うことができます。 必須ステータス チェックがサポートされていない場合、ワークフローは引き続き実行されますが、必須のチェックにはならず、マージはブロックされません。 必要なステータス チェックのサポートの詳細については、「保護されたブランチについて」を参照してください。
  • 必要なワークフローが必須ステータス チェックとして実行されるように、リポジトリの既定のブランチは、Organization の既定のブランチの設定と一致している必要があります。 既定のブランチ名が一致していない場合、ワークフローは引き続き実行されますが、必須チェックにはなりません。 既定のブランチ名の管理の詳細については、「Organization のリポジトリのデフォルブランチ名を管理する」と「デフォルトブランチを変更する」を参照してください。
  • 必要なワークフローを実行するには、pull request のソース リポジトリがターゲット リポジトリと同じ Organization に存在している必要があります。 GitHub は、ワークフローを含むリポジトリの指定されたブランチ、タグ、またはコミット SHA から必要なワークフローをソースにします。
  • 必要なワークフローで使うシークレットは、Organization レベルかターゲット リポジトリ内で作成する必要があります。
  • ソース リポジトリ内のシークレットは、ワークフローがターゲット リポジトリ内で実行される場合にはフェッチされません。

ソース リポジトリの制限と動作

ソース リポジトリとワークフローに関する次の制限と動作にご注意ください。

  • 必要なワークフローは、任意のリポジトリ フォルダーに格納可能で、通常のワークフローのように .github/workflows フォルダーに限定されることはありません。 必要なワークフローが再利用可能なワークフローを呼び出す場合は、その再利用可能なワークフローを .github/workflows フォルダーに格納する必要があります。 再利用可能なワークフローを呼び出すときは、再利用可能なワークフローへの完全なパスと参照を、必要なワークフローで使う必要があります。 たとえば、「 {owner}/{repo}/.github/workflows/{filename}@{ref} 」のように入力します。

  • 必要なワークフローがプライベート リポジトリリポジトリに含まれている場合は、リポジトリ内のワークフローが Organization 内の他のリポジトリからアクセスできるようにする必要があります。 詳細については、「リポジトリの GitHub Actions の設定を管理する」を参照してください。

  • パブリック リポジトリに格納されているワークフローは、Organization 内の任意のリポジトリの必要なワークフローとして構成できます。 プライベート リポジトリに格納されているワークフローは、Organization 内の他のプライベート リポジトリの必要なワークフローとして構成できます。

  • CodeQL は、リポジトリ レベルでの構成を必要とするため、必要なワークフローではサポートされていません。 コード スキャンの構成については、「リポジトリの code scanning を構成する」を参照してください。

  • 必要なワークフローが組織レベルで適用されているブランチにプッシュするには、pull request を作成して必要な変更を行います。 ワークフローの適用が必要なブランチに直接プッシュすることはできません。

  • 特定のリポジトリに対して直接プッシュを許可する場合は、それぞれの必要なワークフローからリポジトリをターゲットとして削除する必要があります。

  • 必要なワークフローは、ワークフロー ファイルを含むリポジトリから任意のブランチ、タグ、またはコミット SHA を使用して参照できます。

ターゲット リポジトリの制限と動作

ターゲット リポジトリの次の制限と動作にご注意ください。

  • 必要なワークフローをすべてのリポジトリで、または選択したリポジトリで実行されるように構成する場合、この必要なワークフローを含むリポジトリの可視性は、ワークフローを実行している Organization 内のリポジトリに影響します。 パブリック リポジトリに格納されている必要なワークフローは、すべてのリポジトリで実行されます。 プライベート リポジトリに格納されている必要なワークフローは、他のプライベート リポジトリで実行されます。
  • 必要なワークフローを、このワークフローが作成されたリポジトリで実行されるように構成することはできません。 必要なワークフローを格納するには、別のリポジトリの作成を検討する必要があります。
  • 必要なワークフローをすべてのリポジトリで、または選択したリポジトリで実行されるように構成する場合、必要なワークフローは、Organization の設定でアクションが無効になっているリポジトリでは実行されません。

必要なワークフローに対するワークフロー実行の表示

必要なワークフローがリポジトリで少なくとも 1 回実行されると、そのリポジトリの [アクション] タブでそのワークフローの実行を表示できます。組織で必要に応じて構成されているワークフローを変更するには、組織の所有者に連絡する必要があります。 必要なワークフロー自体に変更を加えるために、必要なワークフローを含むリポジトリに対する書き込みアクセス許可を持つすべてのユーザーが、そのワークフローに変更を加えることができます。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下の [Actions] (アクション) をクリックします。 メインのリポジトリ ナビゲーション内の [Actions](アクション) タブ

  2. 左側サイドバーの [必要なワークフロー] で、必要なワークフローのワークフロー実行を表示できます。

    必要なワークフローを示すスクリーンショット

組織に必要なワークフローの追加

組織の所有者は、組織内で必要なワークフローを構成できます。 詳しくは、「Organization について GitHub Actions を無効化または制限する」を参照してください。