Skip to main content

Team について

Team は、アクセス権限とメンションをカスケードして会社またはグループの構造を反映する Organization メンバーのグループです。

Team について

チームを使って、組織内のユーザーのアクセス権と、通知を送信するアクセス権を管理できます。 Organization のオーナーとチームメンテナは、Organization のリポジトリに対する管理、読み取り、または書き込みのアクセス権を Team に付与できます。 Organization のメンバーは、Team の名前をメンションすることで、Team 全体に通知を送信できます。 Teams は組織のメンバーのみで構成できます。外部コラボレーターはチームに参加できません。

組織の所有者とチームの保守担当者は、チームの通知を無効にすることができます。 詳細については、「Team通知の設定」を参照してください。

Organization のメンバーは、Team のレビューを要求することでも、Team 全体に通知を送信することができます。 Organization のメンバーは、pull request が開かれているリポジトリに対する読み取りアクセス権を持つ特定の Team のレビューを要求できます。 コードの特定の種類や領域に対して Team をオーナーとして CODEOWNERS ファイルで指定できます。

詳細については、次を参照してください。

ユーザーを使用する組織は、ID プロバイダーを介して Team 同期を使用し、組織メンバーを Team に自動的に追加と削除できます。 詳細については、「Team をアイデンティティ プロバイダ グループと同期する」を参照してください。

Team の可視性

Teamは可視にも秘密にもできます。

  • 表示されるチームはあらゆる組織メンバーが表示し、@mentionedできます。
  • 秘密のTeamは、Teamの人と、オーナー権限を持つ人だけに見えます。 秘密のTeamは、外部のパートナーやクライアントとの作業に使われるセンシティブな名前やメンバーを持つTeamを隠すのに適しています。 秘密のチームは親チームの下に入れ子にしたり、子チームを持ったりすることはできません。

組織のメンバーではない人は、チームを表示できません。

自分が所属するすべてのTeamは、パーソナルダッシュボードで表示できます。 詳しくは、「パーソナルダッシュボードについて」を参照してください。

Team のページ

各 Team は、Organization 内に独自のページを持ちます。 Team のページでは、Team メンバー、子チーム、Team のリポジトリを見ることができます。 Organization のオーナーとチームメンテナは、Team のページから Team の設定にアクセスし、Team の説明とプロフィール画像を更新できます。

: チーム ディスカッションは非推奨になりました。この REST API エンドポイントは、2023 年 7 月 5 日に GitHub.com から削除されます。 この非推奨について詳しくは、GitHub ブログを参照してください。

GitHub Discussions を使って、組織レベルのディスカッションを作成できます。 GitHub Discussions の詳細については、「GitHub Discussions のドキュメント」を参照してください。

入れ子チーム

GitHub Enterprise Cloudの Organization では、複数レベルの入れ子チームでグループや会社の階層を反映させることができます。 親 Team は複数の子 Team を持つことができますが、各子 Team は 1 つの親 Team のみを持ちます。 シークレット Team を入れ子にすることはできません。

子 Team は親のアクセス権限を継承し、大規模なグループの権限管理を簡素化します。 子 Team のメンバーは、親 Team が @mentioned された場合にも通知を受けるので、複数グループの人とのコミュニケーションがシンプルになります。

たとえば Team の構造が「従業員 > エンジニアリング > アプリケーションエンジニアリング > アイデンティティ」となっているなら、エンジニアリングにリポジトリへの書き込みアクセスを許可すれば、アプリケーションエンジニアとアイデンティティもそのアクセス権を得ることになります。 ID Team または Organization 階層の最下位にある任意の Team に @mention すると、通知を受け取るのはその人たちだけになります。

親チームの権限とメンションを誰が共有するのかを簡単に知るには、親チームのページの [Members] タブで親チームの子チームのすべてのメンバーを見ることができます。 子チームのメンバーは、親チームの直接のメンバーではない。

Team を作るときには親を選択できます。あるいは、作成済みの Team を Organization の階層の中で移動させることもできます。 詳しくは、「Organization 階層内で Team を移動する」をご覧ください。

Organization 内で Team を入れ子にする準備

Organization がすでに既存の Team を持っている場合、その Team の上あるいは下に Team を入れ子にする前に、各 Team のリポジトリのアクセス権限を監査しておくべきです。 また、Organization に実装したい新しい構造についても考慮しておくべきです。

Team 階層の最上位では、親チームとその子チームのすべてのメンバーにとって安全なアクセス権限を、親チームのリポジトリに与えるべきです。 階層を下っていくにつれて、より注意が必要なリポジトリへの、より細かいアクセスを、子チームに許可していくことができます。

  1. 既存の Team からすべてのメンバーを削除する
  2. 各 Team のリポジトリのアクセス権限を監査して調整し、各 Team に親を与える
  3. 必要な新しい Team を作成し、それぞれの新 Team の親を選択し、それらにリポジトリのアクセス権を与える
  4. Team に直接人を追加する

参考資料