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.
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 master
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.
-
In the top right corner of GitHub Enterprise Server, click your profile photo, then click Your profile.
-
On the left side of your profile page, under "Organizations", click the icon for your organization.
-
Under your organization name, click Teams.
-
On the right side of the Teams tab, click New team.
-
Under "Create new team", type the name for your new team.
-
Optionally, in the "Description" field, type a description of the team.
-
Decide whether the team will be visible or secret.
-
Optionally, if you're creating a child team, use the drop-down menu to choose a parent team for your new team.
-
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.
-
Ensure that LDAP Sync is enabled.
-
In the top right corner of GitHub Enterprise Server, click your profile photo, then click Your profile.
-
On the left side of your profile page, under "Organizations", click the icon for your organization.
-
Under your organization name, click Teams.
-
On the right side of the Teams tab, click New team.
-
Under "Create new team", type the name for your new team.
-
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.
-
Optionally, in the "Description" field, type a description of the team.
-
Decide whether the team will be visible or secret.
-
Optionally, if you're creating a child team, use the drop-down menu to choose a parent team for your new team.
-
Click Create team.