既存の 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 などが使える。

#参考文献