| `snippets_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable snippets for this project. Use `snippets_access_level` instead. |
| `snippets_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable snippets for this project. Use `snippets_access_level` instead. |
| `squash_option` | string | **{dotted-circle}** No | One of `never`, `always`, `default_on`, or `default_off`. |
| `squash_option` | string | **{dotted-circle}** No | One of `never`, `always`, `default_on`, or `default_off`. |
| `tag_list` | array | **{dotted-circle}** No | _([Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0)_ The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. |
| `tag_list` | array | **{dotted-circle}** No | _([Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0)_ The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. |
| `template_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../user/project/working_with_projects.md#built-in-templates). When used with `use_custom_template`, name of a custom project template. |
| `template_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../user/project/working_with_projects.md#create-a-project-from-a-built-in-template). When used with `use_custom_template`, name of a custom project template. |
| `template_project_id`**(PREMIUM)** | integer | **{dotted-circle}** No | When used with `use_custom_template`, project ID of a custom project template. This is preferable to using `template_name` since `template_name` may be ambiguous. |
| `template_project_id`**(PREMIUM)** | integer | **{dotted-circle}** No | When used with `use_custom_template`, project ID of a custom project template. This is preferable to using `template_name` since `template_name` may be ambiguous. |
| `topics` | array | **{dotted-circle}** No | The list of topics for a project; put array of topics, that should be finally assigned to a project. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0.)_ |
| `topics` | array | **{dotted-circle}** No | The list of topics for a project; put array of topics, that should be finally assigned to a project. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0.)_ |
| `use_custom_template`**(PREMIUM)** | boolean | **{dotted-circle}** No | Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md)(with`group_with_project_templates_id`) project template. |
| `use_custom_template`**(PREMIUM)** | boolean | **{dotted-circle}** No | Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md)(with`group_with_project_templates_id`) project template. |
...
@@ -1342,7 +1342,7 @@ POST /projects/user/:user_id
...
@@ -1342,7 +1342,7 @@ POST /projects/user/:user_id
| `squash_option` | string | **{dotted-circle}** No | One of `never`, `always`, `default_on`, or `default_off`. |
| `squash_option` | string | **{dotted-circle}** No | One of `never`, `always`, `default_on`, or `default_off`. |
| `suggestion_commit_message` | string | **{dotted-circle}** No | The commit message used to apply merge request [suggestions](../user/project/merge_requests/reviews/suggestions.md). |
| `suggestion_commit_message` | string | **{dotted-circle}** No | The commit message used to apply merge request [suggestions](../user/project/merge_requests/reviews/suggestions.md). |
| `tag_list` | array | **{dotted-circle}** No | _([Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0)_ The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. |
| `tag_list` | array | **{dotted-circle}** No | _([Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0)_ The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. |
| `template_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../user/project/working_with_projects.md#built-in-templates). When used with `use_custom_template`, name of a custom project template. |
| `template_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../user/project/working_with_projects.md#create-a-project-from-a-built-in-template). When used with `use_custom_template`, name of a custom project template. |
| `topics` | array | **{dotted-circle}** No | The list of topics for the project. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0.)_ |
| `topics` | array | **{dotted-circle}** No | The list of topics for the project. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0.)_ |
| `use_custom_template`**(PREMIUM)** | boolean | **{dotted-circle}** No | Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md)(with`group_with_project_templates_id`) project template. |
| `use_custom_template`**(PREMIUM)** | boolean | **{dotted-circle}** No | Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md)(with`group_with_project_templates_id`) project template. |
| `visibility` | string | **{dotted-circle}** No | See [project visibility level](#project-visibility-level). |
| `visibility` | string | **{dotted-circle}** No | See [project visibility level](#project-visibility-level). |
@@ -72,7 +72,7 @@ First, set up the project. Once done, you can use the Static Site Editor to
...
@@ -72,7 +72,7 @@ First, set up the project. Once done, you can use the Static Site Editor to
1. To get started, create a new project from the [Static Site Editor - Middleman](https://gitlab.com/gitlab-org/project-templates/static-site-editor-middleman)
1. To get started, create a new project from the [Static Site Editor - Middleman](https://gitlab.com/gitlab-org/project-templates/static-site-editor-middleman)
template. You can either [fork it](../repository/forking_workflow.md#creating-a-fork)
template. You can either [fork it](../repository/forking_workflow.md#creating-a-fork)
or [create a new project from a template](../working_with_projects.md#built-in-templates).
or [create a new project from a template](../working_with_projects.md#create-a-project-from-a-built-in-template).
1. Edit the [`data/config.yml`](#static-site-generator-configuration) configuration file
1. Edit the [`data/config.yml`](#static-site-generator-configuration) configuration file
to replace `<username>` and `<project-name>` with the proper values for
to replace `<username>` and `<project-name>` with the proper values for
-[Custom project templates](#custom-project-templates), for custom templates
1. Select **Create from template**.
configured by GitLab administrators and users.
#### Built-in templates
Built-in templates are project templates that are:
- Developed and maintained in the [`project-templates`](https://gitlab.com/gitlab-org/project-templates)
and [`pages`](https://gitlab.com/pages) groups.
- Released with GitLab.
- Anyone can contribute a built-in template by following [these steps](https://about.gitlab.com/community/contribute/project-templates/).
To use a built-in template on the **New project** page:
1. Click **Create from template**
1. Select the **Built-in** tab.
1. Select the **Built-in** tab.
1. From the list of available built-in templates, click the:
1. From the list of templates:
-**Preview** button to look at the template source itself.
- To view a preview of the template, select **Preview**.
-**Use template** button to start creating the project.
- To use a template for the project, select **Use template**.
1. Finish creating the project by filling out the project's details. The process is
1. Enter the project details:
the same as creating a [blank project](#blank-projects).
- In the **Project name** field, enter the name of your project. You can use spaces, hyphens,
underscores, and emoji. You cannot use special characters. After you enter the name,
##### Enterprise templates **(ULTIMATE)**
the **Project slug** populates.
- In the **Project slug** field, enter the path to your project. The GitLab instance uses the
slug as the URL path to the project. To change the slug, first enter the project name,
then change the slug.
- In the **Project description (optional)** field, enter the description of your project's dashboard.
- To modify the project's [viewing and access rights](../../public_access/public_access.md) for users,
change the **Visibility Level**.
1. Select **Create project**.
## Create a project from a custom template **(PREMIUM)**
GitLab is developing Enterprise templates to help you streamline audit management with selected regulatory standards. These templates automatically import issues that correspond to each regulatory requirement.
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6860) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2.
To create a new project with an Enterprise template, on the **New project** page:
1. Click **Create from template**
Custom project templates are available at:
- The [instance-level](../../user/admin_area/custom_project_templates.md)
- The [group-level](../../user/group/custom_project_templates.md)
1. On the top bar, select **Menu > Project**.
1. Select **Create new project**.
1. Select **Create from template**.
1. Select the **Instance** or **Group** tab.
1. From the list of templates:
- To view a preview of the template, select **Preview**.
- To use a template for the project, select **Use template**.
1. Enter the project details:
- In the **Project name** field, enter the name of your project. You can use spaces, hyphens,
underscores, and emoji. You cannot use special characters. After you enter the name,
the **Project slug** populates.
- In the **Project slug** field, enter the path to your project. The GitLab instance uses the
slug as the URL path to the project. To change the slug, first enter the project name,
then change the slug.
- The description of your project's dashboard in the **Project description (optional)** field.
- To modify the project's [viewing and access rights](../../public_access/public_access.md) for users,
change the **Visibility Level**.
1. Select **Create project**.
## Create a project from the HIPAA Audit Protocol template **(ULTIMATE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13756) in GitLab 12.10
The HIPAA Audit Protocol template contains issues for audit inquiries in the
HIPAA Audit Protocol published by the U.S Department of Health and Human Services.
To create a project from the HIPAA Audit Protocol template:
1. On the top bar, select **Menu > Project**.
1. Select **Create new project**.
1. Select **Create from template**.
1. Select the **Built-in** tab.
1. Select the **Built-in** tab.
1. From the list of available built-in Enterprise templates, click the:
1. Locate the **HIPAA Audit Protocol** template:
-**Preview** button to look at the template source itself.
- To view a preview of the template, select **Preview**.
-**Use template** button to start creating the project.
- To use the template for the project, select **Use template**.
1. Finish creating the project by filling out the project's details. The process is the same as creating a [blank project](#blank-projects).
1. Enter the project details:
- In the **Project name** field, enter the name of your project. You can use spaces, hyphens,
underscores, and emoji. You cannot use special characters. After you enter the name,
the **Project slug** populates.
- In the **Project slug** field, enter the path to your project. The GitLab instance uses the
slug as the URL path to the project. To change the slug, first enter the project name,
then change the slug.
- In the **Project description (optional)** field, enter the description of your project's dashboard.
- To modify the project's [viewing and access rights](../../public_access/public_access.md) for users,
change the **Visibility Level**.
1. Select **Create project**.
Available Enterprise templates include:
## Push to create a new project
- HIPAA Audit Protocol template ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13756) in GitLab 12.10)
NOTE:
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/26388) in GitLab 10.5.
You can improve the existing built-in templates or contribute new ones in the
[`project-templates`](https://gitlab.com/gitlab-org/project-templates) and
[`pages`](https://gitlab.com/pages) groups by following [these steps](https://gitlab.com/gitlab-org/project-templates/contributing).
##### Custom project templates **(PREMIUM)**
Use `git push` to push a local project repository to GitLab. After you push a repository,
GitLab creates your project in your chosen namespace.
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6860) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2.
You cannot use `git push` to create projects with project paths that:
Creating new projects based on custom project templates is a convenient option for
- Have previously been used.
quickly starting projects.
- Have been [renamed](settings/index.md#renaming-a-repository).
Custom projects are available at the [instance-level](../../user/admin_area/custom_project_templates.md)
Previously used project paths have a redirect. The redirect causes push attempts to redirect requests
from the **Instance** tab, or at the [group-level](../../user/group/custom_project_templates.md)
to the renamed project location, instead of creating a new project. To create a new project for a previously
from the **Group** tab, on the **Create from template** page.
used or renamed project, use the [UI](#create-a-project) or the [Projects API](../../api/projects.md#create-project).
To use a custom project template on the **New project** page:
Prerequisites:
1. Click **Create from template**
- To push with SSH, you must have [an SSH key](../../ssh/index.md) that is
1. Select the **Instance** tab or the **Group** tab.
[added to your GitLab account](../../ssh/index.md#add-an-ssh-key-to-your-gitlab-account).
1. From the list of available custom templates, click the:
- You must have permission to add new projects to a namespace. To check if you have permission:
-**Preview** button to look at the template source itself.
-**Use template** button to start creating the project.
1. Finish creating the project by filling out the project's details. The process is
the same as creating a [blank project](#blank-projects).
## Push to create a new project
1. On the top bar, select **Menu > Project**.
1. Select **Groups**.
1. Select a group.
1. Confirm that **New project** is visible in the upper right
corner. Contact your GitLab
administrator if you require permission.
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/26388) in GitLab 10.5.
To push your repository and create a project:
When you create a new repository locally, you don't have to sign in to the GitLab
1. Push with SSH or HTTPS:
interface to create a project and
- To push with SSH:
[clone its repository](../../gitlab-basics/start-using-git.md#clone-a-repository).
You can directly push your new repository to GitLab, which creates your new project
without leaving your terminal.
To push a new project:
1. Identify the [namespace](../group/index.md#namespaces) you want to add the new
project to, as you need this information in a future step. To determine if you have
permission to create new projects in a namespace, view the group's page in a
web browser and confirm the page displays a **New project** button.
NOTE:
As project creation permissions can have many factors, contact your
GitLab administrator if you're unsure.
1. If you want to push using SSH, ensure you have [created a SSH key](../../ssh/index.md) and
[added it to your GitLab account](../../ssh/index.md#add-an-ssh-key-to-your-gitlab-account).
1. Push with one of the following methods. Replace `gitlab.example.com` with the
domain name of the machine that hosts your Git repository, `namespace` with the name of
your namespace, and `myproject` with the name of your new project:
- To push with SSH: `git push --set-upstream git@gitlab.example.com:namespace/myproject.git master`
- To push with HTTPS: `git push --set-upstream https://gitlab.example.com/namespace/myproject.git master`
Optional: to export existing repository tags, append the `--tags` flag to your `git push` command.
1. When the push completes, GitLab displays a message:
```plaintext
```shell
remote: The private project namespace/myproject was created.
You can star a project to make it easier to find projects you frequently use.
You can add a star to projects you use frequently to make them easier to find.
The number of stars a project has can indicate its popularity.
To star a project:
To add a star to a project:
1. Go to the home page of the project you want to star.
1. On the top bar, select **Menu > Project**.
1. In the upper right corner of the page, click **Star**.
1. Select **Your projects** or **Explore projects**.
1. Select a project.
1. In the upper right corner of the page, select **Star**.
To view your starred projects:
## View starred projects
1. On the top bar, select **Menu > Projects**.
1. On the top bar, select **Menu > Project**.
1. Select **Starred Projects**.
1. Select **Starred projects**.
1. GitLab displays information about your starred projects, including:
1. GitLab displays information about your starred projects, including:
- Project description, including name, description, and icon
- Project description, including name, description, and icon.
- Number of times this project has been starred
- Number of times this project has been starred.
- Number of times this project has been forked
- Number of times this project has been forked.
- Number of open merge requests
- Number of open merge requests.
- Number of open issues
- Number of open issues.
## Delete a project
## Delete a project
To delete a project, first navigate to the home page for that project.
After you delete a project, projects in personal namespaces are deleted immediately. You can
[enable delayed project removal](../group/index.md#enable-delayed-project-deletion) to
delay deletion of projects in a group.
To delete a project:
1. Navigate to **Settings > General**.
1. On the top bar, select **Menu > Project**.
1. Select **Your projects** or **Explore projects**.
1. Select a project.
1. Select **Settings > General**.
1. Expand the **Advanced** section.
1. Expand the **Advanced** section.
1. Scroll down to the **Delete project** section.
1. Scroll down to the **Delete project** section.
1.Click**Delete project**
1.Select**Delete project**
1. Confirm this action by typing in the expected text.
1. Confirm this action by completing the field.
Projects in personal namespaces are deleted immediately on request. For information on delayed deletion of projects in a group, please see [delayed project deletion](settings/index.md#delayed-project-deletion).
## View project activity
## Project settings
To view the activity of a project:
Set the project's visibility level and the access levels to its various pages
1. On the top bar, select **Menu > Project**.
and perform actions like archiving, renaming or transferring a project.
1. Select **Your projects** or **Explore projects**.
1. Select a project.
1. On the left sidebar, select **Project information > Activity**.
1. Select a tab to view the type of project activity.
Read through the documentation on [project settings](settings/index.md).
## Leave a project
## Project activity
If you leave a project you are no longer a project
member and cannot contribute.
To view the activity of a project:
To leave a project:
1. On the left sidebar, select **Project information > Activity**.
1. On the top bar, select **Menu > Project**.
1. Select a tab to view **All** the activity, or to filter it by any of these criteria:
1. Select **Your projects** or **Explore projects**.
-**Push events**
1. Select a project.
-**Merge events**
1. Select **Leave project**. The **Leave project** option only displays
-**Issue events**
on the project dashboard when a project is part of a group under a
-**Comments**
[group namespace](../group/index.md#namespaces).
-**Team**
-**Wiki**
### Leave a project
**Leave project** only displays on the project's dashboard
when a project is part of a group (under a
[group namespace](../group/index.md#namespaces)).
If you choose to leave a project you are no longer a project
member, and cannot contribute.
## Use your project as a Go package
## Use your project as a Go package
...
@@ -285,8 +306,8 @@ and `godoc.org` discovery requests, including the
...
@@ -285,8 +306,8 @@ and `godoc.org` discovery requests, including the
[`go-import`](https://golang.org/cmd/go/#hdr-Remote_import_paths) and
[`go-import`](https://golang.org/cmd/go/#hdr-Remote_import_paths) and
[`go-source`](https://github.com/golang/gddo/wiki/Source-Code-Links) meta tags.
[`go-source`](https://github.com/golang/gddo/wiki/Source-Code-Links) meta tags.
Private projects, including projects in subgroups, can be used as a Go package,
Private projects, including projects in subgroups, can be used as a Go package.
but may require configuration to work correctly. GitLab responds correctly
These projects may require configuration to work correctly. GitLab responds correctly
to `go get` discovery requests for projects that *are not* in subgroups,
to `go get` discovery requests for projects that *are not* in subgroups,
regardless of authentication or authorization.
regardless of authentication or authorization.
[Authentication](#authenticate-go-requests) is required to use a private project
[Authentication](#authenticate-go-requests) is required to use a private project
...
@@ -427,3 +448,10 @@ For users without permissions to view the project's code, GitLab displays:
...
@@ -427,3 +448,10 @@ For users without permissions to view the project's code, GitLab displays:
- The wiki homepage, if any.
- The wiki homepage, if any.
- The list of issues in the project.
- The list of issues in the project.
## Related topics
-[Import a project](../../user/project/import/index.md).
-[Connect an external repository to GitLab CI/CD](../../ci/ci_cd_for_external_repos/index.md).
-[Fork a project](repository/forking_workflow.md#creating-a-fork).
-[Adjust project visibility and access levels](settings/index.md#sharing-and-permissions).