Project settings

Use the Settings page to manage the configuration options in your project.

View project settings

You must have at least the Maintainer role to view project settings.

  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > General.
  3. To display all settings in a section, select Expand.
  4. Optional. Use the search box to find a setting.

Edit project name and description

Use the project general settings to edit your project details.

  1. Sign in to GitLab with at least the Maintainer role.
  2. On the left sidebar, at the top, select Search GitLab () to find your project.
  3. Select Settings > General.
  4. In the Project name text box, enter your project name.
  5. In the Project description text box, enter your project description.
  6. Under Project avatar, to change your project avatar, select Choose file.

Assign topics to a project

Use topics to categorize projects and find similar new projects.

To assign topics to a project:

  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > General.
  3. In the Topics text box, enter the project topics. Popular topics are suggested as you type.
  4. Select Save changes.

If you’re an instance administrator, you can administer all project topics from the Admin Area’s Topics page.

note
The assigned topics are visible only to users with access to the project, but everyone can see which topics exist on the GitLab instance. Do not include sensitive information in the name of a topic.

Add a compliance framework to a project

You can add compliance frameworks to projects in a group that has a compliance framework.

Configure project visibility, features, and permissions

To configure visibility, features, and permissions for a project:

  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > General.
  3. Expand Visibility, project features, permissions.
  4. To change the project visibility, select the dropdown list. If you select to Public, you limit access to some features to Only Project Members.
  5. To allow users to request access to the project, select the Users can request access checkbox.
  6. Use the toggles to enable or disable features in the project.
  7. Select Save changes.

Project feature settings

Use the toggles to enable or disable features in the project.

OptionMore access limit optionsDescription
Issues YesActivates the GitLab issues tracker.
Repository YesEnables repository functionality.
Merge requests YesEnables merge request functionality; also see Merge request settings.
Forks YesEnables forking functionality.
Git Large File Storage (LFS) NoEnables the use of large files.
Packages NoSupports configuration of a package registry functionality.
CI/CD YesEnables CI/CD functionality.
Container Registry NoActivates a registry for your Docker images.
Analytics YesEnables analytics.
Requirements YesControl access to Requirements Management.
Security and Compliance YesControl access to security features.
Wiki YesEnables a separate system for documentation.
Snippets YesEnables sharing of code and text.
Pages YesAllows you to publish static websites.
Releases YesControl access to Releases.
Environments YesControl access to Environments and Deployments.
Feature flags YesControl access to Feature flags.
Monitor YesControl access to Monitor features.
Infrastructure YesControl access to Infrastructure features.

When you disable a feature, the following additional features are also disabled:

  • If you disable the Issues feature, project users cannot use:

    • Issue Boards
    • Service Desk
    • Project users can still access Milestones from merge requests.
  • If you disable Issues and Merge Requests, project users cannot use:

    • Labels
    • Milestones
  • If you disable Repository, project users cannot access:

    • Merge requests
    • CI/CD
    • Container Registry
    • Git Large File Storage
    • Packages
  • Metrics dashboard access requires reading project environments and deployments. Users with access to the metrics dashboard can also access environments and deployments.

Manage project access through LDAP groups

You can use LDAP to manage group membership.

You cannot use LDAP groups to manage project access, but you can use the following workaround.

Prerequisites:

  1. Create a group to track membership of your project.
  2. Set up LDAP synchronization for that group.
  3. To use LDAP groups to manage access to a project, add the LDAP-synchronized group as a member to the project.

Disable CVE identifier request in issues

Introduced in GitLab 13.4, only for public projects on GitLab.com.

In some environments, users can submit a CVE identifier request in an issue.

To disable the CVE identifier request option in issues in your project:

  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > General.
  3. Expand Visibility, project features, permissions.
  4. Under Issues, turn off the CVE ID requests in the issue sidebar toggle.
  5. Select Save changes.

Disable project email notifications

Prerequisites:

  • You must be an Owner of the project to disable email notifications related to the project.
  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > General.
  3. Expand Visibility, project features, permissions.
  4. Clear the Disable email notifications checkbox.

Configure merge request settings for a project

Configure your project’s merge request settings:

Service Desk

Enable Service Desk for your project to offer customer support.

Export project

Learn how to export a project in GitLab.

Advanced project settings

Use the advanced settings to archive, rename, transfer, remove a fork relationship, or delete a project.

Archive a project

When you archive a project, the repository, packages, issues, merge requests, and all other features are read-only. Archived projects are also hidden from project listings.

To archive a project:

  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > General.
  3. Expand Advanced.
  4. In the Archive project section, select Archive project.
  5. To confirm, select OK.

Unarchive a project

When you unarchive a project, you remove the read-only restriction and make it available in project lists.

Prerequisites:

  • To unarchive a project, you must be an administrator or a project Owner.
  1. Find the archived project.
    1. On the left sidebar, expand the top-most chevron ().
    2. Select View all your projects.
    3. Select Explore projects.
    4. In the Sort projects dropdown list, select Show archived projects.
    5. In the Filter by name field, enter the project name.
    6. Select the project link.
  2. On the left sidebar, select Settings > General.
  3. Under Advanced, select Expand.
  4. In the Unarchive project section, select Unarchive project.
  5. To confirm, select OK.

Rename a repository

A project’s repository name defines its URL and its place on the file disk where GitLab is installed.

Prerequisites:

You must be a project maintainer, owner, or administrator to rename a repository.

note
When you change the repository path, users may experience issues if they push to, or pull from, the old URL. For more information, see redirects when renaming repositories.

To rename a repository:

  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > General.
  3. Expand Advanced.
  4. In the Change path text box, edit the path.
  5. Select Change path.

Delete the source branch on merge by default

In merge requests, you can change the default behavior so that the Delete the source branch checkbox is always selected.

To set this default:

  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > Merge requests.
  3. Select Enable “Delete source branch” option by default.
  4. Select Save changes.

Transfer a project to another namespace

When you transfer a project to another namespace, you move the project to a different group.

Prerequisites:

  • You must have at least the Maintainer role for the group to which you are transferring.
  • You must be the Owner of the project you transfer.
  • The group must allow creation of new projects.
  • The project must not contain any container images.
  • Remove any npm packages. If you transfer a project to a different root namespace, the project must not contain any npm packages. When you update the path of a user or group, or transfer a subgroup or project, you must remove any npm packages first. You cannot update the root namespace of a project with npm packages. Make sure you update your .npmrc files to follow the naming convention and run npm publish if necessary.
  • If a security policy is assigned to the project, it is automatically unassigned during the transfer.

To transfer a project:

  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > General.
  3. Expand Advanced.
  4. Under Transfer project, choose the namespace to transfer the project to.
  5. Select Transfer project.
  6. Enter the project’s name and select Confirm.

You are redirected to the project’s new page and GitLab applies a redirect. For more information about repository redirects, see What happens when a repository path changes.

note
If you are an administrator, you can also use the administration interface to move any project to any namespace.

Transferring a GitLab SaaS project to a different subscription tier

When you transfer a project from a namespace licensed for GitLab SaaS Premium or Ultimate to GitLab Free, the following paid feature data is deleted:

Delete a project

Version history

You can mark a project to be deleted.

Prerequisite:

  • You must have the Owner role for a project.

To delete a project:

  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > General.
  3. Expand Advanced.
  4. In the Delete this project section, select Delete project.
  5. On the confirmation dialog, enter the project name and select Yes, delete project.

This action deletes the project and all associated resources (such as issues and merge requests).

Delayed project deletion

Version history

Projects in a group (not a personal namespace) can be deleted after a delay period.

On self-managed instances, group administrators can define a deletion delay period of between 1 and 90 days. On SaaS, there is a non-adjustable default retention period of seven days.

Delete a project immediately

Version history

If you don’t want to wait for delayed deletion, you can delete a project immediately. To do this, perform the steps for deleting a projects again.

In the first cycle of deleting a project, the project is moved to the delayed deletion queue and automatically deleted after the retention period has passed. If during this delayed deletion time you run a second deletion cycle, the project is deleted immediately.

Prerequisites:

To immediately delete a project marked for deletion:

  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > General.
  3. Expand Advanced.
  4. In the Delete this project section, select Delete project.
  5. On the confirmation dialog, enter the project name and select Yes, delete project.

Restore a project

Introduced in GitLab 12.6.

To restore a project marked for deletion:

  1. On the left sidebar, at the top, select Search GitLab () to find your project.
  2. Select Settings > General.
  3. Expand Advanced.
  4. In the Restore project section, select Restore project.

Monitor settings

Alerts

Configure alert integrations to triage and manage critical problems in your application as alerts.

Incidents

Alert integration

Automatically create, notify on, and resolve incidents based on GitLab alerts.

PagerDuty integration

Create incidents in GitLab for each PagerDuty incident.

Incident settings

Manage Service Level Agreements for incidents with an SLA countdown timer.

Error Tracking

Configure Error Tracking to discover and view Sentry errors within GitLab.

Status Page

Add Storage credentials to enable the syncing of public Issues to a deployed status page.

Troubleshooting

When working with project settings, you might encounter the following issues, or require alternate methods to complete specific tasks.

Transfer a project through console

If transferring a project through the UI or API is not working, you can attempt the transfer in a Rails console session.

p = Project.find_by_full_path('<project_path>')

# To set the owner of the project
current_user = p.creator

# Namespace where you want this to be moved
namespace = Namespace.find_by_full_path("<new_namespace>")

Projects::TransferService.new(p, current_user).execute(namespace)