問題
GitHub のチーム機能を使ってサブチームを作ったら意図しない挙動になった。
サブチームを作ってリポジトリ Admin 権限を付与し、親チームは Write 権限にしようとしたところ、サブチームの権限が変更されてしまう事象が発生した。
GitHub のチーム機能についてはこちら。
再現手順
- チームを作成する (parent-team とする)
- parent-team を hoge リポジトリの Admin にする
- parent-team のサブチームを作る (child-team とする)
- child-team を hoge リポジトリの Admin にする
- parent-team の権限を Write に変更する
上記の手順を実施すると、 child-team の権限が Write になってしまう。
サブチームは個別に強い権限を付与しているので、親の権限に引きずられないでほしい。。
回避方法
別のチームやユーザに一度 Admin 権限を付与して、あとから修正できるようにした。
(Org の強い権限があれば、それで直せばいいだけではある)
補足
- この現象が発生するのは初回だけっぽい
- 修正後はどちらのチームの権限をいじっても平気
- 親チームの権限を弱める場合だけでなく、強める場合でも発生する
感想
罠っぽい動き。。。
サブチームで詳細な権限を設定できるという Doc の言葉からも、あまり自然な挙動ではない気がするなぁ。