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
- Go to /orgs/new
- Enter an Organization name (the display name)
- Enter a Slug — lowercase letters, numbers, hyphens, and underscores only. It must be unique and is used in URLs.
- Optionally add a Description
- 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.