Skip to main content
Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

GitHub Teams

Teams are the best way to group users and provide access to repositories. Teams give you the ability to create groups of organization members with read, triage, write, maintain, or admin permissions to repositories that belong to the organization.

Teams are also central to many of GitHub’s collaborative features, such as team @mentions, which notify appropriate groups of people that you’d like their input or attention. Teams can be both project or subject-matter focused, and can relate to job titles or roles. Teams are also useful for CODEOWNERS files to define and automate the pull request review process.

Team Synchronization

Teams can also be mapped to one or more of NIH’s Azure Active Directory groups (which can sync with on-premises Active Directory). Using this feature can be immensely rewarding and save time: your team won’t have to manage adding individual GitHub user accounts to your Teams. When a new team member sets up their account, they will be automatically added to any GitHub Team mapped to any Azure Active Directory group they belong. If this is the first time being added to the NIH GitHub enterprise, this will automatically consume a license for them and set up their access anywhere that GitHub Team has been granted access. To learn more about this feature, read Synchronizing a team with an identity provider group.

Repository permission levels

Teams allow you to create groups with separate levels of access and visibility within an organization:

  • Read: Recommended for non-code contributors who want to view or discuss your project
  • Triage: Recommended for contributors who need to proactively manage issues and pull requests without write access
  • Write: Recommended for contributors who actively push to your project
  • Maintain: Recommended for project managers who need to manage the repository without access to sensitive or destructive actions
  • Admin: Recommended for people who need full access to the project, including sensitive and destructive actions like managing security or deleting a repository

To read more granular action-availability information for each permission level, see repository access for each permission level.

Team maintainers

Team maintainers are primarily responsible for adding and removing team members day-to-day, as needed. Each team should have at least a couple team maintainers, but could need more depending on team size. Team maintains should know what they’re responsible for, including adding another appropriate maintainer if they leave the team.

Members with team maintainer permissions can:

  • Change the team’s name and description
  • Change the team’s visibility
  • Request to add a child team
  • Request to add or change a parent team
  • Set the team profile picture
  • Edit team discussions
  • Delete team discussions
  • Add organization members to the team
  • Remove organization members from the team
  • Promote an existing team member to team maintainer
  • Remove the team’s access to repositories
  • Manage code review assignment for the team
  • Manage scheduled reminders for pull requests

Adding and removing team members

A maintainer needs to know the team and the GitHub.com username of the person they want to add or remove. There is only one removal process, but there are two processes to add team members:

Adding users who are members of your organization

As long as the users are already a part of your organization on GitHub.com, team maintainers can add them without needing help organization owners.

To remove members from a GitHub team, maintainers should:

  1. Ensure they’re in the members area
  2. Search for the user or find them in the member list
  3. Check the box to the left of their username
  4. Click the dropdown for member selected at the top of the list
  5. Click Remove from team...
  6. Confirm the action by clicking Remove members

Note: You can remove multiple members at once by checking multiple boxes next to the appropriate usernames.

To add members to a GitHub team, maintainers should:

  1. Ensure they’re in the members area
  2. Click on the Add a Member button at the top-right of the page
  3. Enter the GitHub.com username of the person they wish to invite to the team
    • Ensure you have the correct username
    • You could search for the user’s email (the user must have this email address associated with their account)

The invited user will get an email notifying them they have been invited to the team, and they must accept that invitation to complete the process.

Adding NIH users who are not members of your organization

If the users are not already members of your organization on NIH GitHub, they will need to follow the process in the Set Up Account guide.

Adding external collaborators who are not members of your organization

*loud mechanical noises*

So sorry, this bit needs work. Please bug Joel Peterson about it.