はじめに
今回、GitHubのProjectボードを使ってステータス管理をしようという話になり、
Projectボードに必要なGitHubの権限周りでまとまった情報が見つからなかったので書きます。
この記事を読めば少しはGitHubの権限まわりに関して理解が進むかもしれません。
目次
- はじめに
- 目次
- 今回やりたかったこと
- 必要な権限と設定
・IssueをProjectボードへ自動追加したい場合
・(おまけ)Issueへlabelを付与させたいとき - 権限の変え方
・Organizationの基本権限を変えたいとき
・チームで権限を管理するとき
・個人単位で権限を与えるとき - さいごに
今回やりたかったこと
今回やりたかったことは以下である。
- Organizationの複数のメンバーがIssueを作成する
- Organizationの任意のリポジトリのProjectボード上でIssueを動かしながら進捗を管理する(以下画像参照)
- Projectボードがあるリポジトリ以外への権限はReadに留めたい
(なるべくできることが少ない権限が良い)

必要な権限と設定
GitのOrganizationのリポジトリにどのような権限があるかについては以下の公式ドキュメントを参照してほしい
上記内容をもとに必要な権限範囲を考える。
IssueをProjectボードへ自動追加したい場合
以下の作業が必要である
1.OrganizationのProjectボードのリポジトリへの権限を変更する。
権限をWrite以上にする必要がある。
Write: プロジェクトに積極的にプッシュしたいコントリビューターにおすすめします
この作業によって、Issueの画面右側のメニューからProjectを選択できる。
2.Projectボードのcolumnの設定をする。
Issueが作成されたときに自動で追加されてほしいcolomunに対して自動追加設定をする。
設定方法に関しては以下の公式ドキュメントを参照してほしい。
この作業をすることでIssuesが自動でProjectボードのcolomunに現れる。
(おまけ)Issueへlabelを付与させたいとき
labelを付与する権限だけを付けたい場合は以下の権限をつければよい。
Triage: 書き込みアクセスなしに、Issue やプルリクエストを積極的に管理したいコントリビューターにおすすめします
Triage権限にすれば、書き込みの権限はなくても、labelを付与することはできる。
ただし、Triage権限の場合は前述の内容からProjectボードにIssueを追加するための権限が足りないので注意が必要である。
権限の変え方
権限の変え方がわからない方のために参照すべきドキュメントを紹介する。
GitHubでは以下のそれぞれに対してOrganization が所有するリポジトリへの異なるアクセスレベルを付与できる。
- Organization のメンバー
- 外部のコラボレータ
- Team
また、Organization のリポジトリに対する管理者権限があるユーザが、リポジトリに対してそれより高いレベルの権限を付与すると、基本レベルの権限は、付与された高い権限によってオーバーライドされます。
例:
OrganizationAのメンバーとしてWrite権限を持っていて、OrganizationAのリポジトリBに対してチームメンバとしてRead権限を割り振られている場合、OrganizationAのリポジトリBに対してWrite権限を持つ。
必要な権限範囲を考慮したうえで、以降の作業を実施してください。
Organizationのメンバーの基本権限を変えたいとき
基本権限はOrganizationの全メンバーに対して適用される、Organization内のすべてのものに対するアクセス権限です。(デフォルトは最低のRead権限)
Organizationの管理者メンバーが以下を実行できます。
チーム単位で権限を変えるとき
チーム単位で権限を変えるときは以下の公式ドキュメントを参照してください。
チームメンバーのうち、Maintainer権限を持つメンバーが実行できます。
個人単位で権限を与えるとき
この作業は一度に多くの人の権限を変える場合には向いていません。
以下の作業はOrganizationの管理者権限を持つメンバーが実行できます。
最後に
Issueについて書かれている記事がなかったので書いてみました。
誰かの助けになれば幸いです。