GitHub codeowners でGithubグループを指定しても反映されない時の対処方法
GitHub の CODEOWNERS という機能を使えば、レポジトリに対する PR では設定された CODEOWNER が APPROVE を出さないとマージされないようにできます。
この機能を使うことで、例えばそのリポジトリのオーナーであるグループが必ず PR を確認しないとマージできないようにすることでコードのクオリティを保つ仕組みが作れます。
TL;DR
- GitHub codeowners で特定のグループを CODEOWNERS に設定したいときは、そのグループをレポジトリの
/settings/access
でMaintain
として追加しないと GitHub PR で自動的に reviwer に追加されない - リポジトリで
.github/CODEOWNERS
のファイルを作成して、以下の形式で GitHub group を追加する
* @octo-org/codeowners-team
- リポジトリの設定の
/settings/access
にアクセスして、@octo-org/codeowners-team
をMaintain
として追加する。
*試していないのですが、Write
や Triage
権限でも問題ないかもしれません。
この設定をしたあとに、GitHub PR を新たに作成すると、自動的に CODEOWNERS の approve がないとマージされないように設定されるはずです。
自分自身がハマった経緯
グループ全体のアカウントが追加されているa-group/all
という Github Group がすでにリポジトリのアクセス権限に Write
権限として追加されており、全員が write 権限をもっているなら codeowners としての権限も問題ないだろうと思っていたらハマりました。
CODEOWNERS の仕組みを知ると理解できるのですが、a-group/all
が指定したいグループの包含関係にあるからといって、そのように取り扱ってくれるわけではないということですね。
関連しているかもしれない記事
📮 📧 🐏: 記事への感想のおたよりをおまちしてます。 お気軽にお送りください。 メールアドレス入力があればメールで返信させていただきます。 もちろんお返事を希望せずに単なる感想だけでも大歓迎です。
このサイトの更新情報をRSSで配信しています。 お好きなフィードリーダーで購読してみてください。
このウェブサイトの運営や著者の活動を支援していただける方を募集しています。 もしよろしければ、Buy Me a Coffee からサポート(投げ銭)していただけると、著者の活動のモチベーションに繋がります✨
Amazonでほしいものリストも公開しているので、こちらからもサポートしていただけると励みになります。