既存の branch protection rules を、リポジトリ設定から repository rulesets へ変換できる。必須レビュー・status check・push 制限などを手で作り直さずに、より柔軟なポリシー基盤へ移したいリポジトリ管理者向けである。
- Settings → Branches で classic の Branch protection rules を開き、Convert to ruleset を実行する
- 変換時に ruleset 名を付け、New behavior を確認してから Create ruleset できる
- 任意で変換完了時に元の branch protection rule を削除できる。残した場合は Active な ruleset と並存し、両方を満たす必要がある
- 「Require conversation resolution before merging」は 1 対 1 で写らない(rulesets 側では PR ルールの一部)
- rulesets が使えるリポジトリで利用できる
rulesets 側では、パターン一致による複数ブランチへの適用、複数 ruleset の重ね掛け、org/enterprise レベルの管理、ユーザー・チーム・アプリ単位の bypass などが使える。