Skip to main content

コード スキャンのマージ保護を設定します

ルールセットを使用して、プル要求の code scanning マージ保護の設定ができます。

この機能を使用できるユーザーについて

管理者 ロールを持つ組織の所有者、セキュリティ マネージャー、および組織メンバー

GitHub Advanced Security が有効になっている組織所有のリポジトリ

code scanning マージ保護にルールセットを使用する方法について

Note

  • ルール セットを使用したマージ保護は、ステータス チェックと関係ありません。 ステータス チェックの詳細については、「ステータスチェックについて」を参照してください。
  • ルールセットによるマージ保護は、既定のセットアップで分析されたマージ キュー グループまたは Dependabot プル要求には適用されません。

ルールセットを使用すると、次のいずれかの条件が満たされたときに pull request がマージされないようにできます。

  • 必要なツールで、ルール セットで定義している重大度の code scanning アラートが見つかりました。

  • 必要な code scanning ツールはまだ分析中です。

  • 必要な code scanning ツールはリポジトリ用に構成されていません。

Pull request をマージする前にコードの分析を確実に完了しておきたい場合、通常は、長期間存続する機能ブランチをターゲットとするルールセットを使うようにします。

code scanning 規則を構成しても、code scanning は自動的に有効になりません。 コード スキャンを有効にする方法の詳細については、「コード スキャンの既定セットアップの構成」を参照してください。

code scanningの詳細については、「Code scanningアラートについて」を参照してください。

マージ保護は、リポジトリ level で、および既定のセットアップまたは高度なセットアップで構成されたリポジトリに対して、ルールセットを使用してマージの保護を設定できます。 REST API を使用して、ルールセットを使用してマージ保護の設定もできます。

ルールセットの詳細については、「ルールセットについて」を参照してください。

リポジトリのマージ保護規則セットの作成

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左側のサイド バーの [コードと自動化] の下で、 [ルール] をクリックし、 [ルールセット] をクリックします。

    リポジトリの [設定] ページのサイド バーのスクリーンショット。 [ルール] サブメニューが展開され、[ルールセット] オプションの枠線がオレンジ色で表示されています。

  4. 新しいルールセット」をクリックします。

  5. ブランチを対象とするルールセットを作成するには、 [新しいブランチ ルールセット] をクリックします。

  6. [ルールセット名] に、ルールセットの名前を入力します。

  7. 必要に応じて、既定の適用ステータスを変更するには、 [無効] をクリックし、新しい適用ステータスを選択します。 適用ステータスの詳しい情報については、「ルールセットについて」を参照してください。

  8. [ブランチ保護] で、[Require code scanning results] を選択します。

  9. [Required tools and alert thresholds] で、[ Add tool] をクリックし、ドロップダウンで code scanning ツールを選びます。 たとえば、"CodeQL"。

  10. code scanning ツールの名前の隣

    • [アラート] をクリックし、[なし]、[エラー]、[エラーと警告]、または [すべて] のいずれかを選択します。
    • [セキュリティ アラート] をクリックし、[なし]、[重大]、[高以上]、[中以上]、または [すべて] のいずれかを選択します。

    [ルールセット] 設定の [必要なツールとアラートのしきい値] セクションのスクリーンショット。

重大度レベルの詳細については、「Code scanningアラートについて」を参照してください。

リポジトリのルールセットの詳細については、「リポジトリのルールセットの管理」を参照してください。

組織内のすべてのリポジトリのマージ保護ルールセットの作成

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。

  2. 組織の隣の [設定] をクリックします。

  3. 左のサイド バーの [コード、計画、自動化] セクションで、[ リポジトリ] をクリックし、[ルールセット] をクリックします。

    組織の設定ページのスクリーンショット。 サイド バーで、[ルールセット] というラベルの付いたリンクがオレンジ色の枠線で囲まれています。

  4. 新しいルールセット」をクリックします。

  5. ブランチを対象とするルールセットを作成するには、 [新しいブランチ ルールセット] をクリックします。

  6. [ルールセット名] に、ルールセットの名前を入力します。

  7. 必要に応じて、既定の適用ステータスを変更するには、 [無効] をクリックし、新しい適用ステータスを選択します。 適用ステータスの詳しい情報については、「ルールセットについて」を参照してください。

  8. [ブランチ保護] で、[Require code scanning results] を選択します。

  9. [Required tools and alert thresholds] で、[ Add tool] をクリックし、ドロップダウンで code scanning ツールを選びます。 たとえば、"CodeQL"。

  10. code scanning ツールの名前の隣

    • [アラート] をクリックし、[なし]、[エラー]、[エラーと警告]、または [すべて] のいずれかを選択します。
    • [セキュリティ アラート] をクリックし、[なし]、[重大]、[高以上]、[中以上]、または [すべて] のいずれかを選択します。

    [ルールセット] 設定の [必要なツールとアラートのしきい値] セクションのスクリーンショット。

重大度レベルの詳細については、「Code scanningアラートについて」を参照してください。

Organization 内のリポジトリのルールセットの詳細については、「組織内のリポジトリのルールセットを管理する」を参照してください。

REST API を使用したマージ保護ルールセットの作成

REST API を使用すると、code_scanningルールを使用してルール セットを 作成できます。これにより、特定のツールを定義し、アラートのしきい値を設定できます。 詳しくは、「ルールの REST API エンドポイント」をご覧ください。