Manage GitHub teams
This page describes how to create and manage teams, as well as deciding and managing team membership.
Why and how we use teams
Managing individuals' access to specific repositories doesn't scale well. Instead, we group people into teams and manage those teams' access to repositories. This makes it much easier to get new starters set up correctly and manage people moving between teams.
Teams are managed in the LBHackney-IT Teams list.
ℹ️ Teams should reflect our organisation structure, so may require occasional refactoring to align them.
There are currently two main types of team in use:
-
Profession teams, e.g.
Development Team
. Every member of the profession belongs in these groups, and they're used for things that are owned by the professional as a whole, for example this documentation site. -
Project teams, e.g.
Targeted Services
. These project teams have a sub-team for leads, which provides elevated privileges to do more sensitive repository management.
Adding a new user
Typically a new joiner will need to be added to at least two teams:
- The profession they belong to (e.g. Development Team), and
- One or more product teams they belong to (or the
leads
sub-team of that product).
Adding a regular contributor
Any lead can add people to one or more of their teams.
- In the Teams list click on the team you want to add them to, e.g.
Housing Products
. - Click
Add a member
- Search for the user's GitHub username.
- Click
Invite
.
Adding a lead
Leads are added in a subtly different way, in order to grant them the Admin
role to repositories the team is responsible for. We add the lead to both the main product and the leads teams, and set them as team maintainers so they can add and remove team members.
ℹ️ A "lead" in this context is someone trusted to manage the project, and doesn't reflect a specific job title.
Any lead can add another lead, or this can be carried out by a GitHub admin, e.g. the Head of Engineering.
- In the Teams list find the team you want to add them to, e.g.
Housing Products
. - Click the disclosure arrow on the right hand side (next to
X teams
, and click the relevant "... leads" team)., and add the user:
- Click
Add a member
. - Search for the user's GitHub username.
- Click
Invite
.
- Click
- Change their role to 'Maintainer' for the team:
- Click the check box to the left of the user.
- Click the
1 member selected
drop-down. - Click
Change role
. - Select
Maintainer
. - Click
Change role
.
- Go to the parent team (e.g.
Housing Products
), and add the user:- Click
Add a member
- Search for the user's GitHub username.
- Click
Invite
.
- Click
- Change their role to 'Maintainer' for the team:
- Click the check box to the left of the user.
- Click the
1 member selected
drop-down. - Click
Change role
. - Select
Maintainer
. - Click
Change role
.