| `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`. |
| `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. |
| `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. |
...
...
@@ -1342,7 +1342,7 @@ POST /projects/user/:user_id
| `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). |
| `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.)_ |
| `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). |
@@ -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)
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
to replace `<username>` and `<project-name>` with the proper values for
Anyone can contribute a built-in template by following [these steps](https://about.gitlab.com/community/contribute/project-templates/).
To create a project from a built-in 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. From the list of available built-in templates, click the:
-**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).
##### Enterprise templates **(ULTIMATE)**
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.
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.
- 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)**
To create a new project with an Enterprise template, on the **New project** page:
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6860) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2.
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. From the list of available built-in Enterprise templates, click the:
-**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).
Available Enterprise templates include:
1. Locate the **HIPAA Audit Protocol** template:
- To view a preview of the template, select **Preview**.
- To use the 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.
- 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**.
- HIPAA Audit Protocol template ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13756) in GitLab 12.10)
## Push to create a new project
NOTE:
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).
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/26388) in GitLab 10.5.
##### 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
quickly starting projects.
- Have previously been used.
- Have been [renamed](settings/index.md#renaming-a-repository).
Custom projects are available at the [instance-level](../../user/admin_area/custom_project_templates.md)
from the **Instance** tab, or at the [group-level](../../user/group/custom_project_templates.md)
from the **Group** tab, on the **Create from template** page.
Previously used project paths have a redirect. The redirect causes push attempts to redirect requests
to the renamed project location, instead of creating a new project. To create a new project for a previously
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**
1. Select the **Instance** tab or the **Group** tab.
1. From the list of available custom templates, click the:
-**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).
- To push with SSH, you must have [an SSH key](../../ssh/index.md) that is
[added to your GitLab account](../../ssh/index.md#add-an-ssh-key-to-your-gitlab-account).
- You must have permission to add new projects to a namespace. To check if you have permission:
## 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
interface to create a project and
[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:
1. Push with SSH or HTTPS:
- To push with SSH:
```plaintext
remote: The private project namespace/myproject was created.
You can star a project to make it easier to find projects you frequently use.
The number of stars a project has can indicate its popularity.
You can add a star to projects you use frequently to make them easier to find.
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. In the upper right corner of the page, click **Star**.
1. On the top bar, select **Menu > Project**.
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. Select **Starred Projects**.
1. On the top bar, select **Menu > Project**.
1. Select **Starred projects**.
1. GitLab displays information about your starred projects, including:
- Project description, including name, description, and icon
- Number of times this project has been starred
- Number of times this project has been forked
- Number of open merge requests
- Number of open issues
- Project description, including name, description, and icon.
- Number of times this project has been starred.
- Number of times this project has been forked.
- Number of open merge requests.
- Number of open issues.
## 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. Scroll down to the **Delete project** section.
1.Click**Delete project**
1. Confirm this action by typing in the expected text.
1.Select**Delete project**
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
and perform actions like archiving, renaming or transferring a project.
1. On the top bar, select **Menu > 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. Select a tab to view **All** the activity, or to filter it by any of these criteria:
-**Push events**
-**Merge events**
-**Issue events**
-**Comments**
-**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.
1. On the top bar, select **Menu > Project**.
1. Select **Your projects** or **Explore projects**.
1. Select a project.
1. Select **Leave project**. The **Leave project** option only displays
on the project dashboard when a project is part of a group under a
[group namespace](../group/index.md#namespaces).
## Use your project as a Go package
...
...
@@ -285,8 +306,8 @@ and `godoc.org` discovery requests, including the
[`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.
Private projects, including projects in subgroups, can be used as a Go package,
but may require configuration to work correctly. GitLab responds correctly
Private projects, including projects in subgroups, can be used as a Go package.
These projects may require configuration to work correctly. GitLab responds correctly
to `go get` discovery requests for projects that *are not* in subgroups,
regardless of authentication or authorization.
[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:
- The wiki homepage, if any.
- 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).