Organizations

Organizations group repositories under a shared namespace so a team can own and collaborate on projects together. Each organization has a unique slug that becomes its namespace in URLs and clone paths.

Creating an Organization

  1. Go to /orgs/new
  2. Enter an Organization name (the display name)
  3. Enter a Slug — lowercase letters, numbers, hyphens, and underscores only. It must be unique and is used in URLs.
  4. Optionally add a Description
  5. Click Create organization

The user who creates an organization automatically becomes its first member with the owner role.

Org-Owned Repositories

Repositories owned by an organization live under the org's slug as their namespace. For example, a repository named api in the acme organization is at:

https://git.michlp.com/acme/api
[email protected]:acme/api.git

Members with at least developer access can create repositories under the organization. Any member of an organization can read its repositories; reporters and guests cannot create new ones.

Members & Roles

Every member of an organization is assigned one of five roles:

Role Access
owner Full control: manage members and roles, edit settings, delete the organization, and create repositories.
maintainer Can create repositories under the organization.
developer Can create repositories under the organization. This is the default role for new members.
reporter Member access without the ability to create repositories.
guest Member access without the ability to create repositories.

Managing Members

Owners and instance admins manage members. Open /<slug>/-/members to:

  • Invite a member — enter their username and pick a role (developer, maintainer, reporter, or guest), then click Invite. The user must already have an account. They get a notification and join only once they accept it under Organization invitations; until then the invitation is listed under Pending invitations, where you can cancel it. Invitations expire after 30 days; inviting the same person again replaces theirs and restarts the 30 days.
  • Change a role — select a new role from the dropdown next to a member.
  • Remove a member — click the remove button next to a member. You cannot remove yourself.

Members who aren't owners can view the member list but cannot make changes.

Over the API, owners and admins use GET and POST /api/v4/groups/:id/invitations (user_id or email of an existing user, access_level) and DELETE /api/v4/groups/:id/invitations/:email (the invitee's email or username). POST /api/v4/groups/:id/members adds a member directly and is for instance admins only.

Organization Settings

Owners can open /<slug>/-/settings to update the organization's name and description. The settings page is open to owners and instance admins.

Require all members to set up two-factor authentication (owners and instance admins, once their own account has 2FA) holds every member without it to the rules of When 2FA Is Required until they set it up, everywhere on the instance; the page shows how many members that is. Turning it on sends their open pages to the setup page at once, and the Members page then marks who has 2FA. While it's on, an invitation can only be accepted once the invitee has set up 2FA. Over the API it's require_two_factor_authentication on GET and PUT /api/v4/groups/:id.

The Danger zone lets an owner permanently delete the organization. Deleting an organization also deletes all of its repositories and cannot be undone.