Topics Map > Desktop Support > Procedures and How-Tos

How to Create GitLab Groups, Sub-folders, and Projects

SMPH departments, centers, and research labs can have groups/folders in the SMPH portion of the campus GitLab instance. Owners of those folders, typically IT directors/managers or primary investigators, are delegated the capability to create sub-groups/folders for teams or projects and designate a group owner for them. That group owner can invite, remove, and manage the members and create projects (repositories) within that sub-group.  

Step-by-step guides

Conventions

Location and naming:

  • Repositories requiring authentication should be located in the main SMPH tree: https://git.doit.wisc.edu/smph
  • Repositories meant to be visible to the publish should be located in the public SMPH tree: https://git.doit.wisc.edu/smph-public
  • Departments, centers, and research labs can have a folder created directly underneath the top level SMPH folder.
  • Names should be descriptive (e.g., Department of Medicine, Integrative Systems Neuroimaging Laboratory) while the URL slug can be short (e.g., dom, radiology, isnl). 
  • Administrative domains are created to contain repositories for administrative applications in that respective domain, particularly applications that are not limited to a single department (e.g., Human Resources, Educational Technology, Fiscal Affairs, Faculty Relations).
  • Folders for different teams, platforms, domains, etc. can be created under the appropriate department/center/lab/domain folder.

Owners and members:

  • The owner(s) of the department/center/lab folder should be someone of appropriate authority (e.g., Application Development Managers for departments; the director for the center; the primary investigator for a lab).
  • That owner can manage group members (i.e., people with access to the folder and project repositories) and grant them appropriate roles.
  • Where appropriate, instead of adding individual technologists to a folder or project, consider adding a relevant group already defined in the IIT folder. See below.

Groups for IIT teams:

  • The Informatics and Information Technology top level folder is primarily used to hold GitLab groups representing the various teams within IIT. 
  • Where appropriate, these groups can be invited to other folders and projects. This allows for centralization and reuse of groups instead of manually adding individuals to folders and projects across SMPH.
  • In addition to defining GitLab groups for each team, there are roll-up groups such as All Application Development that includes the relevant team groups.
  • The Application Development Managers group can be used to grant access to application development management.

Permissions:

  • Projects can be set to Internal to facilitate sharing of code, or private so that only specific users or groups have access. 
  • (TODO: determine what we generally want to do in IIT.)
  • (TODO: document the way permission inheritance works.)

Binary or data files:

  • Projects should not exceed 2 GB in size and cannot be used to store restricted datasensitive data, PHI or any other class of data that’s not for general consumption.
  • (TODO: Look at tools for ensuring PHI does not get added.)

Create a department/center/lab/domain folder

Upper level folders for departments, centers, or research labs are created by the central IT.

Information needed:

  • SMPH department, center, or research lab name
  • Preferred abbreviation
  • Group visibility: public (visible to unauthenticated users), internal (visible to all authenticated users), private (visible to specific, named users)
  • Group owner(s) email and NetID
  • Note: Ensure that group owners have logged into https://git.doit.wisc.edu to provision their account before submitting the request.

Create a team/group/initiative-level subgroup

Requests can be submitted via the Application Development Portal and should include the information listed above.

Managing group membership

Information needed:

  • Link to the parent SMPH department, center, or research lab folder/group
  • Team/group/initiative subgroup name
  • Preferred abbreviation
  • Group visibility: public (visible to unauthenticated users), internal (visible to all authenticated users), private (visible to specific, named users)
  • Group owner(s)

Steps:

  1. Consider routing request to the owner of the parent folder. They can create projects within their subgroup.
  2. Navigate to the appropriate parent SMPH department, center, or research lab folder within https://git.doit.wisc.edu/smph or https://git.doit.wisc.edu/smph-public.
  3. If the department, center, or research lab group does not yet exist, see creating a department/center/lab folder above.
  4. Click on "New subgroup" then "Create group".
  5. Set appropriate visibility (e.g., generally "public" if it is in SMPH (Public) and internal or private if on in SMPH) and click Create group. (You can leave the other settings at their defaults.)
  6. Navigate to Subgroup Information > Members and invite the appropriate owners and/or other members assigning them the appropriate role. (Note that members from higher level groups will automatically inherit access.)
  7. Note: Ensure that the new members have logged into https://git.doit.wisc.edu to provision their account before you attempt to add them.

Suggested email template:

To: <sub-group owner(s)>
Subject: GitLab Group for <team/group/center/initiative>

Hello,
We have created a GitLab group/folder for you:  <link to internal and/or public GitLab group/folder>

As a group owner, you can invite, remove, and manage the group members. You and any members with the "developer" role and create projects (repositories) within this sub-group.  For quick tips on creating groups and projects, see How to Create GitLab Groups, Sub-folders, and Projects

For more information, see the GitLab for SMPH FAQ. A few key guidelines include:

Additional support:

Create a project

Information needed:

  • Subgroup being managed
  • Member NetIDs, and roles
    • Guests have limited visibility into groups.
    • Developers can create projects in groups. (This can be restricted.) 
    • Maintainers can manage team members, edit web hooks and project settings, push to protected branches, manage push rules.
    • Owners can manage members and create/delete subgroups.
  1. Navigate to the appropriate subgroup within https://git.doit.wisc.edu/smph or https://git.doit.wisc.edu/smph-public.
  2. Navigate to Subgroup Information > Members and invite the appropriate members with the appropriate role. (Note that members from higher level groups will automatically inherit access.)
  3. Note: Invite them using their NetID. Don't use their email. If they are external to UW-Madison and do not have NetID, see Can external people collaborate? What about UWH employees?
  4. Note: First ensure that they have logged into https://git.doit.wisc.edu to provision their account before you attempt to add them.
  5. If no match is found for their NetID, they need to first log into https://git.doit.wisc.edu using the UW-Madison NetID option.

page to invite members to a gitlab group with a textbox to enter a netid and a dropdown to select the user's role in the gitlab group

Managing project team membership

Information needed:

  • Sub-folder/group containing the project
  • Project name
  • Project "slug" (i.e., the short version of the name that is used in URLs)
  • Project visibility: public (visible to unauthenticated users), internal (visible to all authenticated users), private (visible to specific, named users)
  • Project owner(s)
    • The owner can later add other team members.
    • Optionally, they could have you add other owners, maintainers, developers, and/or guests by name or by group.
  • Is the project being imported from another Git repository or GitLab instance?

Steps:

  1. Consider routing request to the owner of the appropriate team/group/center/initiative subgroup. They can create projects within their subgroup.
  2. Navigate to the appropriate team/group/center/lab subgroup in https://git.doit.wisc.edu/smph or https://git.doit.wisc.edu/smph-public.
  3. If the team/group/center/initiative subgroup does not yet exist, see creating a team/group/center/lab above.
  4. Click on "New project"
  5. Select blank or template for project, fill the subsequent form with the information you gathered, and click Create Project
  6. Navigate to Project Information > Members and add the appropriate owners. (Note that members from higher level groups will automatically inherit access.)
  7. Note: Invite them using their NetID. Don't use their email. If they are external to UW-Madison and do not have NetID, see Can external people collaborate? What about UWH employees?
  8. Note: First ensure that they have logged into https://git.doit.wisc.edu using the UW-Madison NetID option to provision their account before you attempt to add them.

Information needed:

  • Project 
  • Member emails and roles
    • Guests can view code and pages, and create comments and issues.
    • Developers can view analytics, run CI/CD pipelines, move issues, create and approve merge requests, create/edit milestones and releases, create branches, push to unprotected branches.
    • Maintainers can manage team members, edit web hooks and project settings, push to protected branches, manage push rules.
    • Owners can rename, transfer, or delete projects.
  1. Navigate to the appropriate project under https://git.doit.wisc.edu/explore.
  2. Navigate to Project Information > Members and invite the member(s) with the appropriate role. (Note that members from higher level groups will automatically inherit access.)
  3. Note: Invite them using their NetID. Don't use their email. If they are external to UW-Madison and do not have NetID, see  collaborate? What about UWH employees?
  4. Note: First ensure that they have logged into https://git.doit.wisc.edu using the UW-Madison NetID option to provision their account before you attempt to add them.


Keywords:
smph it knowledge base gitlab git lab 
Doc ID:
134314
Owned by:
Brianna M. in SMPH
Created:
2024-01-16
Updated:
2025-08-29
Sites:
School of Medicine and Public Health