GitHubでプロジェクトメンバーの権限を変更する方法についてまとめていきます。
具体的に言うと、今回は元々mergeの権限が無かったメンバーが自分でmergeできるように変更がしたかったのでその方法を調べました。
GitHubの権限について
そもそものGitHubの権限についておさらいしてみる。
個人のリポジトリにはコラボレータに読み取り/書き込みアクセスを許可できる一方、Organization のメンバーは、Organization のリポジトリに対してより精細なアクセス権限を持つことができます。
引用元:GitHub 上のアクセス権限 - GitHub Docs
Organization のメンバーは、owner (オーナー)、billing manager (支払いマネージャー)、あるいはmember (メンバー) ロールを持つことができます。
支払いマネージャーという権限もあるらしい。
オーナーは、(中略)Organization で少なくとも 2 人は指定する必要があります。
これは知らなかった。
メンバーは、それ以外のユーザのデフォルトのロールです。
「それ以外」はowner (オーナー)、billing manager (支払いマネージャー)のことですね。
各権限ができること
それぞれの権限が何をできるかというのは以下の表に一覧でまとまっていました。
ここまでの話をまとめると、多分今mergeができないメンバーの権限はデフォルトのmemberになっていると思うので、ownerに変更すれば良さそう。
member→ownerに変更
ググったのですがやり方が出てこなかったので、手探りでたどり着いた。
- Organizationのページへ移動
- メンバー一覧ページへ移動
- 権限を変更
Organizationのページへ移動
GitHub左上のリンクからOrganizationのトップページへ移動します
URLとしては、https://github.com/orgs/組織名(Organization名)
メンバー一覧ページへ移動
Organizationのトップページの右の方にある「People」を選択
権限を変更
メンバー一覧画面へ移動すると、各メンバーの権限が表示されています。
ここで初めて、予想通り今回mergeを許可したかったメンバーが「member」であることを確認。
あとは右端の歯車マークで権限を変更するだけ。
無事にmergeできるようになりました。
まとめ
- Organizationリポジトリのメンバーの権限は三種類
- ownerは最低で2人指名する必要がある
- デフォルトの権限はmember
- mergeはownerのみ可能