This version of GitHub Enterprise was discontinued on 2020-11-12. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Creating teams

Teams give organizations the ability to create groups of members and control access to repositories. Team members can be granted read, write, or admin permissions to specific repositories.

In this article

Teams are central to many of GitHub's collaborative features, such as team @mentions to notify appropriate parties that you'd like to request their input or attention. For more information, see "Permission levels for an organization repository".

A team can represent a group within your company or include people with certain interests or expertise. For example, a team of accessibility experts on your GitHub Enterprise Server instance could comprise of people from several different departments. Teams can represent functional concerns that complement a company's existing divisional hierarchy.

Organizations can create multiple levels of nested teams to reflect a company or group's hierarchy structure. For more information, see "About teams."

Creating a team

A prudent combination of teams is a powerful way to control repository access. For example, if your organization allows only your release engineering team to push code to the default branch of any repository, you could give only the release engineering team admin permissions to your organization's repositories and give all other teams read permissions.

  1. In the top right corner of GitHub Enterprise Server, click your profile photo, then click Your profile.
    Profile photo
  2. On the left side of your profile page, under "Organizations", click the icon for your organization.
    organization icons
  3. Under your organization name, click Teams.
    Teams tab
  4. On the right side of the Teams tab, click New team.
    New team button
  5. Under "Create new team", type the name for your new team.
    Team name field
  6. Optionally, in the "Description" field, type a description of the team.
    Team description field
  7. Decide whether the team will be visible or secret.
    Options for visibility including visible and secret
  8. Optionally, if you're creating a child team, use the drop-down menu to choose a parent team for your new team.
    Drop-down menu listing the organization's existing teams
  9. Click Create team.

Creating teams with LDAP Sync enabled

Instances using LDAP for user authentication can use LDAP Sync to manage a team's members. Setting the group's Distinguished Name (DN) in the LDAP group field will map a team to an LDAP group on your LDAP server. If you use LDAP Sync to manage a team's members, you won't be able to manage your team within your GitHub Enterprise Server instance. The mapped team will sync its members in the background and periodically at the interval configured when LDAP Sync is enabled. For more information, see "Enabling LDAP Sync."

As part of its optimization configuration, LDAP Sync will not transfer your nested team structure. To create child and parent team relationships, you must manually recreate the nested team structure and sync it with the corresponding LDAP group. For more information, see "Creating teams"

Notes:

  • LDAP Sync only manages the team's member list. You must manage the team's repositories and permissions from within GitHub Enterprise Server.
  • If an LDAP group mapping to a DN is removed, such as if the LDAP group is deleted, then every member is removed from the synced GitHub Enterprise Server team. To fix this, map the team to a new DN, add the team members back, and manually sync the mapping.
  • When LDAP Sync is enabled, if a person is removed from a repository, they will lose access but their forks will not be deleted. If the person is added to a team with access to the original organization repository within three months, their access to the forks will be automatically restored on the next sync.
  1. Ensure that LDAP Sync is enabled.
  2. In the top right corner of GitHub Enterprise Server, click your profile photo, then click Your profile.
    Profile photo
  3. On the left side of your profile page, under "Organizations", click the icon for your organization.
    organization icons
  4. Under your organization name, click Teams.
    Teams tab
  5. On the right side of the Teams tab, click New team.
    New team button
  6. Under "Create new team", type the name for your new team.
    Team name field
  7. Search for an LDAP group's DN to map the team to. If you don't know the DN, type the LDAP group's name. GitHub Enterprise Server will search for and autocomplete any matches.
    Mapping to the LDAP group DN
  8. Optionally, in the "Description" field, type a description of the team.
    Team description field
  9. Decide whether the team will be visible or secret.
    Options for visibility including visible and secret
  10. Optionally, if you're creating a child team, use the drop-down menu to choose a parent team for your new team.
    Drop-down menu listing the organization's existing teams
  11. Click Create team.