code scanning マージ保護にルールセットを使用する方法について
Note
- この機能は現在 ベータ にあり、変更される可能性があります。
- ルール セットを使用したマージ保護は、ステータス チェックと関係ありません。 ステータス チェックの詳細については、「ステータスチェックについて」を参照してください。
- ルールセットによるマージ保護は、既定のセットアップで分析されたマージ キュー グループまたは Dependabot プル要求には適用されません。
ルールセットを使用すると、次のいずれかの条件が満たされたときに pull request がマージされないようにできます。
-
必要なツールで、ルール セットで定義している重大度の code scanning アラートが見つかりました。
-
必要な code scanning ツールはまだ分析中です。
-
必要な code scanning ツールはリポジトリ用に構成されていません。
code scanningの詳細については、「Code scanningアラートについて」をご覧ください。
マージ保護は、リポジトリ level で、および既定のセットアップまたは高度なセットアップで構成されたリポジトリに対して、ルールセットを使用してマージの保護を設定できます。 REST API を使用して、ルールセットを使用してマージ保護の設定もできます。
ルールセットについて詳しくは、「ルールセットについて」をご覧ください。
リポジトリのマージ保護規則セットの作成
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
左側のサイド バーの [コードと自動化] の下で、 [ルール] をクリックし、 [ルールセット] をクリックします。
-
「新しいルールセット」をクリックします。
-
ブランチを対象とするルールセットを作成するには、 [新しいブランチ ルールセット] をクリックします。
-
[ルールセット名] に、ルールセットの名前を入力します。
-
必要に応じて、既定の適用ステータスを変更するには、 [無効] をクリックし、新しい適用ステータスを選択します。 適用ステータスの詳しい情報については、「ルールセットについて」を参照してください。
-
[ブランチ保護] で、[Require code scanning results] を選択します。
-
[必須ツールとアラートのしきい値] で、{ Add toolをクリック し、 ドロップダウンで code scanning ツールを選択します。 たとえば、"CodeQL"。
-
code scanning ツールの名前の隣
- [アラート] をクリックし、[なし]、[エラー]、[エラーと警告]、または [すべて] のいずれかを選択します。
- [セキュリティ アラート] をクリックし、[なし]、[重大]、[高以上]、[中以上]、または [すべて] のいずれかを選択します。
重大度レベルの詳細については、「Code scanningアラートについて」を参照してください。
リポジトリのルールセットについての詳細は、「リポジトリのルールセットの管理」をご覧ください。
組織内のすべてのリポジトリのマージ保護ルールセットの作成
-
GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
-
組織の隣の [設定] をクリックします。
-
左のサイド バーの [コード、計画、自動化] セクションで、[ リポジトリ] をクリックし、[ルールセット] をクリックします。
-
「新しいルールセット」をクリックします。
-
ブランチを対象とするルールセットを作成するには、 [新しいブランチ ルールセット] をクリックします。
-
[ルールセット名] に、ルールセットの名前を入力します。
-
必要に応じて、既定の適用ステータスを変更するには、 [無効] をクリックし、新しい適用ステータスを選択します。 適用ステータスの詳しい情報については、「ルールセットについて」を参照してください。
-
[ブランチ保護] で、[Require code scanning results] を選択します。
-
[必須ツールとアラートのしきい値] で、{ Add toolをクリック し、 ドロップダウンで code scanning ツールを選択します。 たとえば、"CodeQL"。
-
code scanning ツールの名前の隣
- [アラート] をクリックし、[なし]、[エラー]、[エラーと警告]、または [すべて] のいずれかを選択します。
- [セキュリティ アラート] をクリックし、[なし]、[重大]、[高以上]、[中以上]、または [すべて] のいずれかを選択します。
重大度レベルの詳細については、「Code scanningアラートについて」を参照してください。
organization内のリポジトリのルールセットについての詳細は、「組織内のリポジトリのルールセットを管理する」をご覧ください。
REST API を使用したマージ保護ルールセットの作成
REST API を使用すると、code_scanning
ルールを使用してルール セットを 作成できます。これにより、特定のツールを定義し、アラートのしきい値を設定できます。 詳しくは、「ルールの REST API エンドポイント」を参照してください。