ルールセットを作成した後も、ルールセットに変更を加えることができます。 たとえば、ブランチまたはタグをより適切に保護するためのルールを追加したり、 をリポジトリの共同作成者エクスペリエンスへの影響をテストした後にルールセットを "評価" モードから "アクティブ" に切り替えたりできます。 の共同作成者エクスペリエンスに対する意図しない影響をトラブルシューティングするためにルールセットを一時的に無効にします。
REST および GraphQL API を使ってルールセットを管理できます。 詳細については、「ルールの REST API エンドポイント」および「ミューテーション」を参照してください。
Tip
Organization 所有者である場合は、organization レベルでルールセットを作成できます。 これらのルールセットは、組織内の特定のリポジトリに、およびそれらのリポジトリ内の特定のブランチに適用できます。 詳しくは、「組織内のリポジトリのルールセットを作成する」をご覧ください。
リポジトリのルールセットの表示
[Rulesets] ページでは、リポジトリへの読み取りアクセス権を持つすべてのユーザーが、特定のブランチ、タグ、またはプッシュ制限を対象とするアクティブなルールセットを表示できます。"評価" モードで実行されているルールセットも表示されますが、これは強制されません。
フォークされたリポジトリのプッシュ ルールセットの場合、[ルールセット] ページには、ルールが適用されているソース リポジトリによってルール セットが管理されていることが示されます。
-
GitHub で、リポジトリのメイン ページに移動します。
-
左側のファイル ツリー ビューで、 ブランチ ドロップダウン メニューを選択し、 [すべてのブランチを表示] をクリックします。 統合ファイル エディターの上部にあるブランチ ドロップダウン メニューも見つかります。
-
ブランチ名の左側にある をクリックします
-
必要に応じて、結果をフィルター処理するには、タブをクリックするか、[ブランチの検索] 検索バーを使用します。
-
表示するルールセットの名前をクリックします。
ルールセットの編集
Note
ルールセットが organization レベルで作成されている場合、リポジトリの設定からルールセットを編集することはできません。 ルールセットを編集する権限を持っている場合は、組織の設定でそうすることができます。 詳しくは、「組織内のリポジトリのルールセットを管理する」をご覧ください。
ルールセットを編集して、名前、バイパスのアクセス許可、ルールなど、ルールセットの一部を変更できます。 また、ルールセットを有効または一時的に無効にする場合など、ルールセットを編集してその状態を変更することもできます。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
左側のサイド バーの [コードと自動化] の下で、 [ルール] をクリックし、 [ルールセット] をクリックします。
-
[ルールセット] ページで、編集するルールセットの名前をクリックします。
-
必要に応じてルールセットを変更します。 使用可能なルールについて詳しくは、「ルールセットで使用できるルール」を参照してください。
-
ページの下部にある [変更の保存] をクリックします。
ルールセットの削除
Tip
ルールセットを一時的に無効にしたいが、削除したくない場合は、ルールセットの状態を "無効" に設定できます。 詳しくは、「ルールセットの編集」をご覧ください。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
左側のサイド バーの [コードと自動化] の下で、 [ルール] をクリックし、 [ルールセット] をクリックします。
-
削除するルールセットの名前をクリックします。
-
ルールセットの名前の右側にある を選び、 [ルールセットの削除] をクリックします。
ルールセット履歴の使用
Note
- ルールセット履歴は現在 パブリック プレビュー にあり、変更される可能性があります。
- 2023 年 10 月 11 日の パブリック プレビュー のリリース後にルールセットに加えられた変更のみがルールセット履歴に含まれます。
ルールセットに対するすべての変更を表示し、特定のイテレーションに戻すことができます。 特定のイテレーションでのルールセットの構成を含む JSON ファイルをダウンロードすることもできます。 ルールセットのバイパス リストは、エクスポートされた JSON ファイルから除外されます。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
左側のサイド バーの [コードと自動化] の下で、 [ルール] をクリックし、 [ルールセット] をクリックします。
-
ルールセットの変更履歴を表示するには、ルールセットの名前の右側にある を選択し、[ 履歴] をクリックします。
-
特定のイテレーションの右側にある を選択し、[変更の比較]、[復元]、または [ダウンロード] をクリックします。
ルールセットのインポート
JSON ファイルを使用して、別のリポジトリまたは組織からルールセットをインポートできます。 これは、複数のリポジトリまたは組織に同じルールセットを適用する場合に便利です。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
左側のサイド バーの [コードと自動化] の下で、 [ルール] をクリックし、 [ルールセット] をクリックします。
-
[新しいルールセット] ドロップダウンを選択し、[ルールセットのインポート] をクリックします。
-
エクスポートされた JSON ファイルを開きます。
-
インポートしたルールセットを確認し、[作成] をクリックします。
ルールセットの分析情報の表示
ルールセットの分析情報を表示して、ルールセットがリポジトリにどのように影響しているかを確認できます。 [ルールの分析情報] ページに、次のユーザー アクションのタイムラインが表示されます。 フィルターを使用し、探しているものを見つけることができます。
- 1 つ以上のルールセットに対してチェックされ、成功したアクション。
- 1 つ以上のルールセットに対してチェックされ、失敗したアクション。
- 他のユーザーがバイパスした 1 つ以上のルールセットに対するアクション。
ルールセットが "評価" モードで実行されている場合、ルールセットがアクティブなときに成功または失敗するアクションを確認することができます。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
左側のサイド バーの [コードと自動化] で、 [ルール] をクリックし、 [分析情報] をクリックします。
-
[ルールの分析情報] ページで、ページ上部のドロップダウン メニューを使用して、ルールセット、ブランチ、アクター、期間でアクションをフィルター処理します。
-
バイパスに失敗した、またはバイパスを必要とした特定のルールを確認するには、 をクリックして、ルールセットの名前を展開します。
-
必要に応じて、同じマージ グループ内の対応する pull request のマージ キューの詳細を確認します。
プッシュ ルールをバイパスする要求の管理
Note
プッシュ ルールの委任されたバイパスは現在 パブリック プレビュー 段階であり、変更される可能性があります。
バイパス権限のすべての要求は、リポジトリの [ルール設定] タブにある [バイパス要求] ページで表示および管理できます。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
[バイパス要求] をクリックします。
承認者 (バイパス リストのメンバー)、要求者 (要求を作成する投稿者)、期間、および状態によって要求をフィルター処理できます。 要求には次の状態が割り当てられます。
状態 | 説明 |
---|---|
Cancelled | 要求は投稿者によって取り消されました。 |
Completed | 要求が承認され、コミットがリポジトリにプッシュされました。 |
Denied | 要求が審査され否認されました。 |
Expired | 要求の有効期限が切れました。 要求は 7 日間有効です。 |
Open | 要求はまだレビューされていないか、承認されていますが、コミットがリポジトリにプッシュされていません。 |
投稿者が制限された内容などコミットをプッシュするバイパス権限を要求すると、バイパス リストのメンバーはすべて、要求へのリンクを含む電子メールによる通知を受信します。 その後、バイパス リストのメンバーは、要求の有効期限が切れる前に、要求を確認して承認または拒否する 7 日間があります。
投稿者は電子メールで決定を通知され、必要なアクションを実行する必要があります。 要求が承認された場合、投稿者は制限された内容などコミットをリポジトリにプッシュできます。 要求が拒否された場合、投稿者はコミットから制限された内容を削除して、コミットをリポジトリに正常にプッシュする必要があります。