Skip to main content

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

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

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

Code scanning は、GitHub.com のすべてのパブリック リポジトリに使用できます。 Organization によって所有されるプライベート リポジトリで code scanning を使うには、GitHub Advanced Security のライセンスが必要です。 詳しくは、「GitHub Advanced Security について」を参照してください。

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

注:

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

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

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

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

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

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

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

ルールセットについて詳しくは、「ルールセットについて」をご覧ください。

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

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

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

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

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

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

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

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

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

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

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

  9. [必須ツールとアラートのしきい値] で、{ Add toolをクリック し、 ドロップダウンで code scanning ツールを選択します。 たとえば、"CodeQL"。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. [必須ツールとアラートのしきい値] で、{ Add toolをクリック し、 ドロップダウンで code scanning ツールを選択します。 たとえば、"CodeQL"。

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

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

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

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

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

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

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