Commit f81322f9 authored by GitLab Bot's avatar GitLab Bot

Automatic merge of gitlab-org/gitlab-ce master

parents ec1861d1 735f360c
...@@ -72,7 +72,7 @@ To archive those legacy job traces, please follow the instruction below. ...@@ -72,7 +72,7 @@ To archive those legacy job traces, please follow the instruction below.
``` ```
After you executed this task, GitLab instance queues up Sidekiq jobs (asynchronous processes) After you executed this task, GitLab instance queues up Sidekiq jobs (asynchronous processes)
for migrating job trace files from local storage to object storage. for migrating job trace files from local storage to object storage.
It could take time to complete the all migration jobs. You can check the progress by the following command It could take time to complete the all migration jobs. You can check the progress by the following command
```bash ```bash
......
...@@ -11,7 +11,7 @@ The Packages feature allows GitLab to act as a repository for the following: ...@@ -11,7 +11,7 @@ The Packages feature allows GitLab to act as a repository for the following:
| [Maven Repository](../user/project/packages/maven_repository.md) | The GitLab Maven Repository enables every project in GitLab to have its own space to store [Maven](https://maven.apache.org/) packages. | 11.3+ | | [Maven Repository](../user/project/packages/maven_repository.md) | The GitLab Maven Repository enables every project in GitLab to have its own space to store [Maven](https://maven.apache.org/) packages. | 11.3+ |
| [NPM Registry](../user/project/packages/npm_registry.md) | The GitLab NPM Registry enables every project in GitLab to have its own space to store [NPM](https://www.npmjs.com/) packages. | 11.7+ | | [NPM Registry](../user/project/packages/npm_registry.md) | The GitLab NPM Registry enables every project in GitLab to have its own space to store [NPM](https://www.npmjs.com/) packages. | 11.7+ |
Don't you see your package management system supported yet? Don't you see your package management system supported yet?
Please consider contributing Please consider contributing
to GitLab. This [development documentation](../development/packages.md) will guide you through the process. to GitLab. This [development documentation](../development/packages.md) will guide you through the process.
......
...@@ -22,9 +22,9 @@ To configure the pseudonymizer, you need to: ...@@ -22,9 +22,9 @@ To configure the pseudonymizer, you need to:
- Provide a manifest file that describes which fields should be included or - Provide a manifest file that describes which fields should be included or
pseudonymized ([example `manifest.yml` file](https://gitlab.com/gitlab-org/gitlab-ee/tree/master/config/pseudonymizer.yml)). pseudonymized ([example `manifest.yml` file](https://gitlab.com/gitlab-org/gitlab-ee/tree/master/config/pseudonymizer.yml)).
A default manifest is provided with the GitLab installation. Using a relative file path will be resolved from the Rails root. A default manifest is provided with the GitLab installation. Using a relative file path will be resolved from the Rails root.
Alternatively, you can use an absolute file path. Alternatively, you can use an absolute file path.
- Use an object storage and specify the connection parameters in the `pseudonymizer.upload.connection` configuration option. - Use an object storage and specify the connection parameters in the `pseudonymizer.upload.connection` configuration option.
**For Omnibus installations:** **For Omnibus installations:**
......
...@@ -6,19 +6,19 @@ Two different storage layouts can be used ...@@ -6,19 +6,19 @@ Two different storage layouts can be used
to store the repositories on disk and their characteristics. to store the repositories on disk and their characteristics.
GitLab can be configured to use one or multiple repository shard locations GitLab can be configured to use one or multiple repository shard locations
that can be: that can be:
- Mounted to the local disk - Mounted to the local disk
- Exposed as an NFS shared volume - Exposed as an NFS shared volume
- Acessed via [gitaly] on its own machine. - Acessed via [gitaly] on its own machine.
In GitLab, this is configured in `/etc/gitlab/gitlab.rb` by the `git_data_dirs({})` In GitLab, this is configured in `/etc/gitlab/gitlab.rb` by the `git_data_dirs({})`
configuration hash. The storage layouts discussed here will apply to any shard configuration hash. The storage layouts discussed here will apply to any shard
defined in it. defined in it.
The `default` repository shard that is available in any installations The `default` repository shard that is available in any installations
that haven't customized it, points to the local folder: `/var/opt/gitlab/git-data`. that haven't customized it, points to the local folder: `/var/opt/gitlab/git-data`.
Anything discussed below is expected to be part of that folder. Anything discussed below is expected to be part of that folder.
## Legacy Storage ## Legacy Storage
...@@ -108,7 +108,7 @@ question. ...@@ -108,7 +108,7 @@ question.
### How to migrate to Hashed Storage ### How to migrate to Hashed Storage
To start a migration, enable Hashed Storage for new projects: To start a migration, enable Hashed Storage for new projects:
1. Go to **Admin > Settings > Repository** and expand the **Repository Storage** section. 1. Go to **Admin > Settings > Repository** and expand the **Repository Storage** section.
2. Select the **Use hashed storage paths for newly created and renamed projects** checkbox. 2. Select the **Use hashed storage paths for newly created and renamed projects** checkbox.
...@@ -129,7 +129,7 @@ an Omnibus Gitlab installation: ...@@ -129,7 +129,7 @@ an Omnibus Gitlab installation:
sudo gitlab-rake gitlab:storage:migrate_to_hashed ID_FROM=50 ID_TO=100 sudo gitlab-rake gitlab:storage:migrate_to_hashed ID_FROM=50 ID_TO=100
``` ```
Check the [documentation][rake/migrate-to-hashed] for additional information and instructions for Check the [documentation][rake/migrate-to-hashed] for additional information and instructions for
source-based installation. source-based installation.
#### Rollback #### Rollback
...@@ -140,12 +140,12 @@ projects: ...@@ -140,12 +140,12 @@ projects:
1. Go to **Admin > Settings > Repository** and expand the **Repository Storage** section. 1. Go to **Admin > Settings > Repository** and expand the **Repository Storage** section.
2. Uncheck the **Use hashed storage paths for newly created and renamed projects** checkbox. 2. Uncheck the **Use hashed storage paths for newly created and renamed projects** checkbox.
To schedule a complete rollback, see the To schedule a complete rollback, see the
[rake task documentation for storage rollback](raketasks/storage.md#rollback-from-hashed-storage-to-legacy-storage) for instructions. [rake task documentation for storage rollback](raketasks/storage.md#rollback-from-hashed-storage-to-legacy-storage) for instructions.
The rollback task also supports specifying a range of Project IDs. Here is an example The rollback task also supports specifying a range of Project IDs. Here is an example
of limiting the rollout to Project IDs 50 to 100, in an Omnibus Gitlab installation: of limiting the rollout to Project IDs 50 to 100, in an Omnibus Gitlab installation:
```bash ```bash
sudo gitlab-rake gitlab:storage:rollback_to_legacy ID_FROM=50 ID_TO=100 sudo gitlab-rake gitlab:storage:rollback_to_legacy ID_FROM=50 ID_TO=100
``` ```
......
...@@ -229,7 +229,6 @@ PUT /projects/:id/boards/:board_id ...@@ -229,7 +229,6 @@ PUT /projects/:id/boards/:board_id
| `labels` | string | no | Comma-separated list of label names which the board should be scoped to | | `labels` | string | no | Comma-separated list of label names which the board should be scoped to |
| `weight` | integer | no | The weight range from 0 to 9, to which the board should be scoped to | | `weight` | integer | no | The weight range from 0 to 9, to which the board should be scoped to |
```bash ```bash
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/boards/1?name=new_name&milestone_id=43&assignee_id=1&labels=Doing&weight=4 curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/boards/1?name=new_name&milestone_id=43&assignee_id=1&labels=Doing&weight=4
``` ```
......
...@@ -19,13 +19,13 @@ Example response: ...@@ -19,13 +19,13 @@ Example response:
{ {
"id": 1, "id": 1,
"title": "Public key", "title": "Public key",
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
"created_at": "2013-10-02T10:12:29Z" "created_at": "2013-10-02T10:12:29Z"
}, },
{ {
"id": 3, "id": 3,
"title": "Another Public key", "title": "Another Public key",
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
"created_at": "2013-10-02T11:12:29Z" "created_at": "2013-10-02T11:12:29Z"
} }
] ]
......
...@@ -302,7 +302,7 @@ POST /groups/:id/epics/:epic_iid/todo ...@@ -302,7 +302,7 @@ POST /groups/:id/epics/:epic_iid/todo
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
|-------------|---------|----------|--------------------------------------| |-------------|---------|----------|--------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user | | `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user |
| `epic_iid ` | integer | yes | The internal ID of a group's epic | | `epic_iid` | integer | yes | The internal ID of a group's epic |
```bash ```bash
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/1/epics/5/todo curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/1/epics/5/todo
......
...@@ -67,7 +67,6 @@ POST /projects/:id/issues/:issue_iid/links ...@@ -67,7 +67,6 @@ POST /projects/:id/issues/:issue_iid/links
| `target_project_id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) of a target project | | `target_project_id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) of a target project |
| `target_issue_iid` | integer/string | yes | The internal ID of a target project's issue | | `target_issue_iid` | integer/string | yes | The internal ID of a target project's issue |
```json ```json
{ {
"source_issue" : { "source_issue" : {
...@@ -141,14 +140,12 @@ Deletes an issue link, thus removes the two-way relationship. ...@@ -141,14 +140,12 @@ Deletes an issue link, thus removes the two-way relationship.
DELETE /projects/:id/issues/:issue_iid/links/:issue_link_id DELETE /projects/:id/issues/:issue_iid/links/:issue_link_id
``` ```
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
|-------------|---------|----------|--------------------------------------| |-------------|---------|----------|--------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
| `issue_iid` | integer | yes | The internal ID of a project's issue | | `issue_iid` | integer | yes | The internal ID of a project's issue |
| `issue_link_id` | integer/string | yes | The ID of an issue relationship | | `issue_link_id` | integer/string | yes | The ID of an issue relationship |
```json ```json
{ {
"source_issue" : { "source_issue" : {
......
...@@ -57,7 +57,7 @@ GET /issues?confidential=true ...@@ -57,7 +57,7 @@ GET /issues?confidential=true
| `created_before` | datetime | no | Return issues created on or before the given time | | `created_before` | datetime | no | Return issues created on or before the given time |
| `updated_after` | datetime | no | Return issues updated on or after the given time | | `updated_after` | datetime | no | Return issues updated on or after the given time |
| `updated_before` | datetime | no | Return issues updated on or before the given time | | `updated_before` | datetime | no | Return issues updated on or before the given time |
| `confidential ` | Boolean | no | Filter confidential or public issues. | | `confidential` | Boolean | no | Filter confidential or public issues. |
```bash ```bash
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/issues curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/issues
...@@ -206,7 +206,7 @@ GET /groups/:id/issues?confidential=true ...@@ -206,7 +206,7 @@ GET /groups/:id/issues?confidential=true
| `created_before` | datetime | no | Return issues created on or before the given time | | `created_before` | datetime | no | Return issues created on or before the given time |
| `updated_after` | datetime | no | Return issues updated on or after the given time | | `updated_after` | datetime | no | Return issues updated on or after the given time |
| `updated_before` | datetime | no | Return issues updated on or before the given time | | `updated_before` | datetime | no | Return issues updated on or before the given time |
| `confidential ` | Boolean | no | Filter confidential or public issues. | | `confidential` | Boolean | no | Filter confidential or public issues. |
```bash ```bash
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/4/issues curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/4/issues
...@@ -355,7 +355,7 @@ GET /projects/:id/issues?confidential=true ...@@ -355,7 +355,7 @@ GET /projects/:id/issues?confidential=true
| `created_before` | datetime | no | Return issues created on or before the given time | | `created_before` | datetime | no | Return issues created on or before the given time |
| `updated_after` | datetime | no | Return issues updated on or after the given time | | `updated_after` | datetime | no | Return issues updated on or after the given time |
| `updated_before` | datetime | no | Return issues updated on or before the given time | | `updated_before` | datetime | no | Return issues updated on or before the given time |
| `confidential ` | Boolean | no | Filter confidential or public issues. | | `confidential` | Boolean | no | Filter confidential or public issues. |
```bash ```bash
......
...@@ -43,7 +43,7 @@ GET /issues_statistics?confidential=true ...@@ -43,7 +43,7 @@ GET /issues_statistics?confidential=true
| `created_before` | datetime | no | Return issues created on or before the given time | | `created_before` | datetime | no | Return issues created on or before the given time |
| `updated_after` | datetime | no | Return issues updated on or after the given time | | `updated_after` | datetime | no | Return issues updated on or after the given time |
| `updated_before` | datetime | no | Return issues updated on or before the given time | | `updated_before` | datetime | no | Return issues updated on or before the given time |
| `confidential ` | Boolean | no | Filter confidential or public issues. | | `confidential` | Boolean | no | Filter confidential or public issues. |
```bash ```bash
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/issues_statistics curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/issues_statistics
...@@ -99,7 +99,7 @@ GET /groups/:id/issues_statistics?confidential=true ...@@ -99,7 +99,7 @@ GET /groups/:id/issues_statistics?confidential=true
| `created_before` | datetime | no | Return issues created on or before the given time | | `created_before` | datetime | no | Return issues created on or before the given time |
| `updated_after` | datetime | no | Return issues updated on or after the given time | | `updated_after` | datetime | no | Return issues updated on or after the given time |
| `updated_before` | datetime | no | Return issues updated on or before the given time | | `updated_before` | datetime | no | Return issues updated on or before the given time |
| `confidential ` | Boolean | no | Filter confidential or public issues. | | `confidential` | Boolean | no | Filter confidential or public issues. |
```bash ```bash
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/4/issues_statistics curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/4/issues_statistics
...@@ -155,8 +155,7 @@ GET /projects/:id/issues_statistics?confidential=true ...@@ -155,8 +155,7 @@ GET /projects/:id/issues_statistics?confidential=true
| `created_before` | datetime | no | Return issues created on or before the given time | | `created_before` | datetime | no | Return issues created on or before the given time |
| `updated_after` | datetime | no | Return issues updated on or after the given time | | `updated_after` | datetime | no | Return issues updated on or after the given time |
| `updated_before` | datetime | no | Return issues updated on or before the given time | | `updated_before` | datetime | no | Return issues updated on or before the given time |
| `confidential ` | Boolean | no | Filter confidential or public issues. | | `confidential` | Boolean | no | Filter confidential or public issues. |
```bash ```bash
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/4/issues_statistics curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/4/issues_statistics
......
...@@ -485,7 +485,7 @@ Parameters ...@@ -485,7 +485,7 @@ Parameters
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
|-----------------|----------------|----------|------------------------------------------------------------------------------------------------------------------| |-----------------|----------------|----------|------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. | | `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `job_id ` | integer | yes | The unique job identifier. | | `job_id` | integer | yes | The unique job identifier. |
| `artifact_path` | string | yes | Path to a file inside the artifacts archive. | | `artifact_path` | string | yes | Path to a file inside the artifacts archive. |
Example request: Example request:
...@@ -782,7 +782,6 @@ DELETE /projects/:id/jobs/:job_id/artifacts ...@@ -782,7 +782,6 @@ DELETE /projects/:id/jobs/:job_id/artifacts
| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) | | `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
| `job_id` | integer | yes | ID of a job. | | `job_id` | integer | yes | ID of a job. |
Example request: Example request:
```sh ```sh
......
...@@ -131,7 +131,6 @@ Returns: ...@@ -131,7 +131,6 @@ Returns:
- `201 Created` if the license is successfully added. - `201 Created` if the license is successfully added.
- `400 Bad Request` if the license couldn't be added, with an error message explaining the reason. - `400 Bad Request` if the license couldn't be added, with an error message explaining the reason.
## Delete a license ## Delete a license
``` ```
......
...@@ -105,7 +105,7 @@ DELETE /projects/:id/managed_licenses/:managed_license_id ...@@ -105,7 +105,7 @@ DELETE /projects/:id/managed_licenses/:managed_license_id
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/managed_licenses/4" curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/managed_licenses/4"
``` ```
When successful, it replies with an HTTP 204 response. When successful, it replies with an HTTP 204 response.
## Edit an existing managed license ## Edit an existing managed license
......
...@@ -178,7 +178,6 @@ PUT /projects/:id/approvers ...@@ -178,7 +178,6 @@ PUT /projects/:id/approvers
} }
``` ```
## Merge Request-level MR approvals ## Merge Request-level MR approvals
Configuration for approvals on a specific Merge Request. Must be authenticated for all endpoints. Configuration for approvals on a specific Merge Request. Must be authenticated for all endpoints.
...@@ -250,7 +249,6 @@ POST /projects/:id/merge_requests/:merge_request_iid/approvals ...@@ -250,7 +249,6 @@ POST /projects/:id/merge_requests/:merge_request_iid/approvals
| `merge_request_iid` | integer | yes | The IID of MR | | `merge_request_iid` | integer | yes | The IID of MR |
| `approvals_required` | integer | yes | Approvals required before MR can be merged | | `approvals_required` | integer | yes | Approvals required before MR can be merged |
```json ```json
{ {
"id": 5, "id": 5,
......
...@@ -192,7 +192,7 @@ access_token = client.password.get_token('user@example.com', 'secret') ...@@ -192,7 +192,7 @@ access_token = client.password.get_token('user@example.com', 'secret')
puts access_token.token puts access_token.token
``` ```
## Access GitLab API with `access token` ## Access GitLab API with `access token`
The `access token` allows you to make requests to the API on behalf of a user. The `access token` allows you to make requests to the API on behalf of a user.
You can pass the token either as GET parameter: You can pass the token either as GET parameter:
......
...@@ -76,7 +76,7 @@ Example response: ...@@ -76,7 +76,7 @@ Example response:
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/9305) in GitLab 11.8. > [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/9305) in GitLab 11.8.
Get a list of package files of a single package. Get a list of package files of a single package.
``` ```
GET /projects/:id/packages/:package_id/package_files GET /projects/:id/packages/:package_id/package_files
......
...@@ -91,7 +91,7 @@ POST /projects/:id/badges ...@@ -91,7 +91,7 @@ POST /projects/:id/badges
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- | | --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding) owned by the authenticated user | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
| `link_url` | string | yes | URL of the badge link | | `link_url` | string | yes | URL of the badge link |
| `image_url` | string | yes | URL of the badge image | | `image_url` | string | yes | URL of the badge image |
......
...@@ -14,7 +14,7 @@ GET /projects/:id/statistics ...@@ -14,7 +14,7 @@ GET /projects/:id/statistics
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
| ---------- | ------ | -------- | ----------- | | ---------- | ------ | -------- | ----------- |
| `id ` | integer / string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) | | `id` | integer / string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
Example response: Example response:
......
...@@ -27,7 +27,7 @@ GET /projects/:id/templates/:type ...@@ -27,7 +27,7 @@ GET /projects/:id/templates/:type
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
| ---------- | ------ | -------- | ----------- | | ---------- | ------ | -------- | ----------- |
| `id ` | integer / string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) | | `id` | integer / string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
| `type` | string | yes| The type `(dockerfiles|gitignores|gitlab_ci_ymls|licenses)` of the template | | `type` | string | yes| The type `(dockerfiles|gitignores|gitlab_ci_ymls|licenses)` of the template |
Example response (licenses): Example response (licenses):
...@@ -93,7 +93,7 @@ GET /projects/:id/templates/:type/:key ...@@ -93,7 +93,7 @@ GET /projects/:id/templates/:type/:key
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
| ---------- | ------ | -------- | ----------- | | ---------- | ------ | -------- | ----------- |
| `id ` | integer / string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) | | `id` | integer / string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
| `type` | string | yes| The type `(dockerfiles|gitignores|gitlab_ci_ymls|licenses)` of the template | | `type` | string | yes| The type `(dockerfiles|gitignores|gitlab_ci_ymls|licenses)` of the template |
| `key` | string | yes | The key of the template, as obtained from the collection endpoint | | `key` | string | yes | The key of the template, as obtained from the collection endpoint |
| `project` | string | no | The project name to use when expanding placeholders in the template. Only affects licenses | | `project` | string | no | The project name to use when expanding placeholders in the template. Only affects licenses |
......
...@@ -6,7 +6,7 @@ The SCIM API implements the [the RFC7644 protocol](https://tools.ietf.org/html/r ...@@ -6,7 +6,7 @@ The SCIM API implements the [the RFC7644 protocol](https://tools.ietf.org/html/r
NOTE: **Note:** NOTE: **Note:**
[Group SSO](../user/group/saml_sso/index.md) and the feature [Group SSO](../user/group/saml_sso/index.md) and the feature
flag `:group_scim` must be enabled for the group. For more information, see [SCIM setup documentation](../user/group/saml_sso/scim_setup.md#requirements). flag `:group_scim` must be enabled for the group. For more information, see [SCIM setup documentation](../user/group/saml_sso/scim_setup.md#requirements).
## Get a list of SAML users ## Get a list of SAML users
......
...@@ -8,8 +8,8 @@ Navigate to the **Admin** area and go to the **Appearance** page. ...@@ -8,8 +8,8 @@ Navigate to the **Admin** area and go to the **Appearance** page.
Under **System header and footer** insert your header message and/or footer message. Under **System header and footer** insert your header message and/or footer message.
Both background and font color of the header and footer are customizable. Both background and font color of the header and footer are customizable.
You can also apply the header and footer messages to gitlab emails, You can also apply the header and footer messages to gitlab emails,
by checking the **Enable header and footer in emails** checkbox. by checking the **Enable header and footer in emails** checkbox.
Note that color settings will only be applied within the app interface and not to emails Note that color settings will only be applied within the app interface and not to emails
![appearance](system_header_and_footer_messages/appearance.png) ![appearance](system_header_and_footer_messages/appearance.png)
......
...@@ -53,7 +53,7 @@ allowed. ...@@ -53,7 +53,7 @@ allowed.
### Exclude params from parent namespaces! ### Exclude params from parent namespaces!
> By default `declared(params) `includes parameters that were defined in all > By default `declared(params)`includes parameters that were defined in all
parent namespaces. parent namespaces.
<https://github.com/ruby-grape/grape#include-parent-namespaces> <https://github.com/ruby-grape/grape#include-parent-namespaces>
......
# Code comments # Code comments
Whenever you add comment to the code that is expected to be addressed at any time Whenever you add comment to the code that is expected to be addressed at any time
in future, please create a technical debt issue for it. Then put a link to it in future, please create a technical debt issue for it. Then put a link to it
to the code comment you've created. This will allow other developers to quickly to the code comment you've created. This will allow other developers to quickly
check if a comment is still relevant and what needs to be done to address it. check if a comment is still relevant and what needs to be done to address it.
Examples: Examples:
```rb ```rb
# Deprecated scope until code_owner column has been migrated to rule_type. # Deprecated scope until code_owner column has been migrated to rule_type.
......
...@@ -76,7 +76,7 @@ See the [Rails guides] for more info. ...@@ -76,7 +76,7 @@ See the [Rails guides] for more info.
## Email namespace ## Email namespace
As of GitLab 11.7, we support a new format for email handler addresses. This was done to As of GitLab 11.7, we support a new format for email handler addresses. This was done to
support catch-all mailboxes. support catch-all mailboxes.
If you need to implement a feature which requires a new email handler, follow these rules If you need to implement a feature which requires a new email handler, follow these rules
......
# Licensed feature availability **(STARTER)** # Licensed feature availability **(STARTER)**
As of GitLab 9.4, we've been supporting a simplified version of licensed As of GitLab 9.4, we've been supporting a simplified version of licensed
feature availability checks via `ee/app/models/license.rb`, both for feature availability checks via `ee/app/models/license.rb`, both for
on-premise or GitLab.com plans and features. on-premise or GitLab.com plans and features.
## Restricting features scoped by namespaces or projects ## Restricting features scoped by namespaces or projects
GitLab.com plans are persisted on user groups and namespaces, therefore, if you're adding a GitLab.com plans are persisted on user groups and namespaces, therefore, if you're adding a
feature such as [Related issues](../user/project/issues/related_issues.md) or feature such as [Related issues](../user/project/issues/related_issues.md) or
[Service desk](../user/project/service_desk.md), [Service desk](../user/project/service_desk.md),
it should be restricted on namespace scope. it should be restricted on namespace scope.
1. Add the feature symbol on `EES_FEATURES`, `EEP_FEATURES` or `EEU_FEATURES` constants in 1. Add the feature symbol on `EES_FEATURES`, `EEP_FEATURES` or `EEU_FEATURES` constants in
`ee/app/models/license.rb`. Note on `ee/app/models/ee/namespace.rb` that _Bronze_ GitLab.com `ee/app/models/license.rb`. Note on `ee/app/models/ee/namespace.rb` that _Bronze_ GitLab.com
features maps to on-premise _EES_, _Silver_ to _EEP_ and _Gold_ to _EEU_. features maps to on-premise _EES_, _Silver_ to _EEP_ and _Gold_ to _EEU_.
2. Check using: 2. Check using:
...@@ -22,12 +22,12 @@ project.feature_available?(:feature_symbol) ...@@ -22,12 +22,12 @@ project.feature_available?(:feature_symbol)
## Restricting global features (instance) ## Restricting global features (instance)
However, for features such as [Geo](../administration/geo/replication/index.md) and However, for features such as [Geo](../administration/geo/replication/index.md) and
[Load balancing](../administration/database_load_balancing.md), which cannot be restricted [Load balancing](../administration/database_load_balancing.md), which cannot be restricted
to only a subset of projects or namespaces, the check will be made directly in to only a subset of projects or namespaces, the check will be made directly in
the instance license. the instance license.
1. Add the feature symbol on `EES_FEATURES`, `EEP_FEATURES` or `EEU_FEATURES` constants in 1. Add the feature symbol on `EES_FEATURES`, `EEP_FEATURES` or `EEU_FEATURES` constants in
`ee/app/models/license.rb`. `ee/app/models/license.rb`.
2. Add the same feature symbol to `GLOBAL_FEATURES` 2. Add the same feature symbol to `GLOBAL_FEATURES`
3. Check using: 3. Check using:
......
...@@ -11,7 +11,7 @@ def method ...@@ -11,7 +11,7 @@ def method
issue.save issue.save
render json: issue render json: issue
end end
``` ```
...@@ -21,7 +21,7 @@ def method ...@@ -21,7 +21,7 @@ def method
issue = Issue.new issue = Issue.new
issue.save issue.save
render json: issue render json: issue
end end
``` ```
......
...@@ -5,11 +5,11 @@ This document will guide you through adding another [package management system]( ...@@ -5,11 +5,11 @@ This document will guide you through adding another [package management system](
See already supported package types in [Packages documentation](../administration/packages.md) See already supported package types in [Packages documentation](../administration/packages.md)
Since GitLab packages' UI is pretty generic, it is possible to add new Since GitLab packages' UI is pretty generic, it is possible to add new
package system support by solely backend changes. This guide is superficial and does package system support by solely backend changes. This guide is superficial and does
not cover the way the code should be written. However, you can find a good example not cover the way the code should be written. However, you can find a good example
by looking at existing merge requests with Maven and NPM support: by looking at existing merge requests with Maven and NPM support:
- [NPM registry support](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/8673). - [NPM registry support](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/8673).
- [Maven repository](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/6607). - [Maven repository](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/6607).
- [Instance level endpoint for Maven repository](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/8757) - [Instance level endpoint for Maven repository](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/8757)
...@@ -17,44 +17,44 @@ by looking at existing merge requests with Maven and NPM support: ...@@ -17,44 +17,44 @@ by looking at existing merge requests with Maven and NPM support:
The existing database model requires the following: The existing database model requires the following:
- Every package belongs to a project. - Every package belongs to a project.
- Every package file belongs to a package. - Every package file belongs to a package.
- A package can have one or more package files. - A package can have one or more package files.
- The package model is based on storing information about the package and its version. - The package model is based on storing information about the package and its version.
## API endpoints ## API endpoints
Package systems work with GitLab via API. For example `ee/lib/api/npm_packages.rb` Package systems work with GitLab via API. For example `ee/lib/api/npm_packages.rb`
implements API endpoints to work with NPM clients. So, the first thing to do is to implements API endpoints to work with NPM clients. So, the first thing to do is to
add a new `ee/lib/api/your_name_packages.rb` file with API endpoints that are add a new `ee/lib/api/your_name_packages.rb` file with API endpoints that are
necessary to make the package system client to work. Usually that means having necessary to make the package system client to work. Usually that means having
endpoints like: endpoints like:
- GET package information. - GET package information.
- GET package file content. - GET package file content.
- PUT upload package. - PUT upload package.
Since the packages belong to a project, it's expected to have project-level endpoint Since the packages belong to a project, it's expected to have project-level endpoint
for uploading and downloading them. For example: for uploading and downloading them. For example:
``` ```
GET https://gitlab.com/api/v4/projects/<your_project_id>/packages/npm/ GET https://gitlab.com/api/v4/projects/<your_project_id>/packages/npm/
PUT https://gitlab.com/api/v4/projects/<your_project_id>/packages/npm/ PUT https://gitlab.com/api/v4/projects/<your_project_id>/packages/npm/
``` ```
Group-level and instance-level endpoints are good to have but are optional. Group-level and instance-level endpoints are good to have but are optional.
NOTE: **Note:** NOTE: **Note:**
To avoid name conflict for instance-level endpoints we use To avoid name conflict for instance-level endpoints we use
[the package naming convention](../user/project/packages/npm_registry.md#package-naming-convention) [the package naming convention](../user/project/packages/npm_registry.md#package-naming-convention)
## Configuration ## Configuration
GitLab has a `packages` section in its configuration file (`gitlab.rb`). GitLab has a `packages` section in its configuration file (`gitlab.rb`).
It applies to all package systems supported by GitLab. Usually you don't need It applies to all package systems supported by GitLab. Usually you don't need
to add anything there. to add anything there.
Packages can be configured to use object storage, therefore your code must support it. Packages can be configured to use object storage, therefore your code must support it.
## Database ## Database
...@@ -63,6 +63,6 @@ Every time you upload a new package, you can either create a new record of `Pack ...@@ -63,6 +63,6 @@ Every time you upload a new package, you can either create a new record of `Pack
or add files to existing record. `PackageFile` should be able to store all file-related or add files to existing record. `PackageFile` should be able to store all file-related
information like the file `name`, `side`, `sha1`, etc. information like the file `name`, `side`, `sha1`, etc.
If there is specific data necessary to be stored for only one package system support, If there is specific data necessary to be stored for only one package system support,
consider creating a separate metadata model. See `packages_maven_metadata` table consider creating a separate metadata model. See `packages_maven_metadata` table
and `Packages::MavenMetadatum` model as example for package specific data. and `Packages::MavenMetadatum` model as example for package specific data.
...@@ -654,7 +654,6 @@ and related tools such as: ...@@ -654,7 +654,6 @@ and related tools such as:
- <https://explain.depesz.com/> - <https://explain.depesz.com/>
- <http://tatiyants.com/postgres-query-plan-visualization/> - <http://tatiyants.com/postgres-query-plan-visualization/>
## Producing query plans ## Producing query plans
There are a few ways to get the output of a query plan. Of course you There are a few ways to get the output of a query plan. Of course you
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment