はじめに
GitHub Organizationで、外部コラボレータ(Outside collaborators)を利用する際のメモ。外部コラボレータの追加方法、制約などを紹介する。
環境
- GitHub Enterprise
外部コラボレータとは
外部のコラボレータは、Organizationのメンバーではないものの、Organizationの1つ以上のリポジトリにアクセスできるユーザです。各外部コラボレーターに許可するアクセスのレベルを選択できます。 外部コラボレーターをリポジトリに追加する場合は、アクセスするリポジトリのフォークにも追加する必要があります。
上記のある通り、
- Organization内のリポジトリにアクセス権を与えたい、Organization外のメンバー
- 具体的には、社内メンバーではない協力会社のメンバーなど
となる。
外部コラボレータの追加方法
Organization内の各リポジトリに対して権限を個別に与える。外部コラボレータには以下の制約がある。
- Organizationのメンバーとして参加することはできない
- 招待はできるが、参加することはできない
- GitHub Teamに追加することはできない
- TeamはOrganizationメンバーしか利用できないため
また、Enterpriseなどの有料のOrganizationを利用している場合、プライベートリポジトリに対して外部コラボレータを追加する際、1ユーザあたり追加の費用が発生するので注意する(参考)。
以下に外部コラボレータの追加手順を示す。
- 各リポジトリの「Settings」の「Collaborators and teams」を選択する
- 「Add people」ボタンを押す
- 追加したいメンバーを指定して、「Add to repository」ボタンを押す
- 招待されたメンバーが承認すると、外部コラボレータとして登録される
上記の方法は、GUIから各リポジトリごとに権限を追加する必要がある。リポジトリ数が多い場合は、外部コラボレータを追加するREST APIが用意されているのでそちらを使うと良い。
外部コラボレータの確認方法
Organizationページの、「People」の「Outside collaborators」から確認できる。
まとめ
外部コラボレータの追加方法と制約を紹介した。GitHubを使った社外メンバーとの共同開発の際などに役立つ。
参考