diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-20 15:09:18 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-20 15:09:18 +0000 |
commit | 364f6f2e33e6f5eafe63b25d9256b88e72141b1c (patch) | |
tree | ee6dc003a354e7466d5c45e5587c0f8172312122 /doc | |
parent | 98252e0dd60cbcb316231085e206d9872f243b8a (diff) | |
download | gitlab-ce-364f6f2e33e6f5eafe63b25d9256b88e72141b1c.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r-- | doc/api/merge_request_approvals.md | 110 | ||||
-rw-r--r-- | doc/api/protected_branches.md | 7 | ||||
-rw-r--r-- | doc/development/feature_flags/controls.md | 12 | ||||
-rw-r--r-- | doc/subscriptions/index.md | 13 |
4 files changed, 126 insertions, 16 deletions
diff --git a/doc/api/merge_request_approvals.md b/doc/api/merge_request_approvals.md index 4552a56d808..4cee25f4680 100644 --- a/doc/api/merge_request_approvals.md +++ b/doc/api/merge_request_approvals.md @@ -63,7 +63,8 @@ POST /projects/:id/approvals ### Get project-level rules -> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/11877) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. +> - [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/11877) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. +> - `protected_branches` property was [introduced](https://gitlab.com/gitlab-org/gitlab/issues/460) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.7. You can request information about a project's approval rules using the following endpoint: @@ -130,6 +131,31 @@ GET /projects/:id/approval_rules "ldap_access": null } ], + "protected_branches": [ + { + "id": 1, + "name": "master", + "push_access_levels": [ + { + "access_level": 30, + "access_level_description": "Developers + Maintainers" + } + ], + "merge_access_levels": [ + { + "access_level": 30, + "access_level_description": "Developers + Maintainers" + } + ], + "unprotect_access_levels": [ + { + "access_level": 40, + "access_level_description": "Maintainers" + } + ], + "code_owner_approval_required": "false" + } + ], "contains_hidden_groups": false } ] @@ -147,13 +173,14 @@ POST /projects/:id/approval_rules **Parameters:** -| Attribute | Type | Required | Description | -|----------------------|---------|----------|-----------------------------------------------------------| -| `id` | integer | yes | The ID of a project | -| `name` | string | yes | The name of the approval rule | -| `approvals_required` | integer | yes | The number of required approvals for this rule | -| `user_ids` | Array | no | The ids of users as approvers | -| `group_ids` | Array | no | The ids of groups as approvers | +| Attribute | Type | Required | Description | +|------------------------|---------|----------|------------------------------------------------------------------| +| `id` | integer | yes | The ID of a project | +| `name` | string | yes | The name of the approval rule | +| `approvals_required` | integer | yes | The number of required approvals for this rule | +| `user_ids` | Array | no | The ids of users as approvers | +| `group_ids` | Array | no | The ids of groups as approvers | +| `protected_branch_ids` | Array | no | **(PREMIUM)** The ids of protected branches to scope the rule by | ```json { @@ -207,6 +234,31 @@ POST /projects/:id/approval_rules "ldap_access": null } ], + "protected_branches": [ + { + "id": 1, + "name": "master", + "push_access_levels": [ + { + "access_level": 30, + "access_level_description": "Developers + Maintainers" + } + ], + "merge_access_levels": [ + { + "access_level": 30, + "access_level_description": "Developers + Maintainers" + } + ], + "unprotect_access_levels": [ + { + "access_level": 40, + "access_level_description": "Maintainers" + } + ], + "code_owner_approval_required": "false" + } + ], "contains_hidden_groups": false } ``` @@ -225,14 +277,15 @@ PUT /projects/:id/approval_rules/:approval_rule_id **Parameters:** -| Attribute | Type | Required | Description | -|----------------------|---------|----------|-----------------------------------------------------------| -| `id` | integer | yes | The ID of a project | -| `approval_rule_id` | integer | yes | The ID of a approval rule | -| `name` | string | yes | The name of the approval rule | -| `approvals_required` | integer | yes | The number of required approvals for this rule | -| `user_ids` | Array | no | The ids of users as approvers | -| `group_ids` | Array | no | The ids of groups as approvers | +| Attribute | Type | Required | Description | +|------------------------|---------|----------|------------------------------------------------------------------| +| `id` | integer | yes | The ID of a project | +| `approval_rule_id` | integer | yes | The ID of a approval rule | +| `name` | string | yes | The name of the approval rule | +| `approvals_required` | integer | yes | The number of required approvals for this rule | +| `user_ids` | Array | no | The ids of users as approvers | +| `group_ids` | Array | no | The ids of groups as approvers | +| `protected_branch_ids` | Array | no | **(PREMIUM)** The ids of protected branches to scope the rule by | ```json { @@ -286,6 +339,31 @@ PUT /projects/:id/approval_rules/:approval_rule_id "ldap_access": null } ], + "protected_branches": [ + { + "id": 1, + "name": "master", + "push_access_levels": [ + { + "access_level": 30, + "access_level_description": "Developers + Maintainers" + } + ], + "merge_access_levels": [ + { + "access_level": 30, + "access_level_description": "Developers + Maintainers" + } + ], + "unprotect_access_levels": [ + { + "access_level": 40, + "access_level_description": "Maintainers" + } + ], + "code_owner_approval_required": "false" + } + ], "contains_hidden_groups": false } ``` diff --git a/doc/api/protected_branches.md b/doc/api/protected_branches.md index 4a750b42f65..e6844536c33 100644 --- a/doc/api/protected_branches.md +++ b/doc/api/protected_branches.md @@ -34,6 +34,7 @@ Example response: ```json [ { + "id": 1, "name": "master", "push_access_levels": [ { @@ -61,6 +62,7 @@ Example response: ```json [ { + "id": 1, "name": "master", "push_access_levels": [ { @@ -105,6 +107,7 @@ Example response: ```json { + "id": 1, "name": "master", "push_access_levels": [ { @@ -129,6 +132,7 @@ Example response: ```json { + "id": 1, "name": "master", "push_access_levels": [ { @@ -179,6 +183,7 @@ Example response: ```json { + "id": 1, "name": "*-stable", "push_access_levels": [ { @@ -209,6 +214,7 @@ Example response: ```json { + "id": 1, "name": "*-stable", "push_access_levels": [ { @@ -251,6 +257,7 @@ Example response: ```json { + "id": 1, "name": "*-stable", "push_access_levels": [ { diff --git a/doc/development/feature_flags/controls.md b/doc/development/feature_flags/controls.md index 3799672ee11..731fd7171f0 100644 --- a/doc/development/feature_flags/controls.md +++ b/doc/development/feature_flags/controls.md @@ -127,6 +127,18 @@ For groups the `--group` flag is available: /chatops run feature set --group=gitlab-org some_feature true ``` +Note that actor-based gates are applied before percentages. For example, considering the +`group/project` as `gitlab-org/gitlab` and a given example feature as `some_feature`, if +you run these 2 commands: + +``` +/chatops run feature set --project=gitlab-org/gitlab some_feature true +/chatops run feature set some_feature 25 +``` + +Then `some_feature` will be enabled for 25% of the users interacting with +`gitlab-org/gitlab`, and no one else. + ## Cleaning up Once the change is deemed stable, submit a new merge request to remove the diff --git a/doc/subscriptions/index.md b/doc/subscriptions/index.md index b406abaf481..5e3ce934e87 100644 --- a/doc/subscriptions/index.md +++ b/doc/subscriptions/index.md @@ -272,6 +272,19 @@ main quota. Additional minutes: - Are only used once the shared quota included in your subscription runs out. - Roll over month to month. +Each month, any minutes that you used will be deducted from your balance of additional minutes. +Therefore, the number of minutes used and available will reflect your *current* +month's usage and availability. Purchased remaining minutes not used in the +current month will be rolled out over to the next month. + +For example: + +- February 15: A group buys 4000 minutes. The count reads 0/4000 minutes. +- February 28: The group has used 1500 minutes. The count reads 1500/4000 minutes. Thus, there are 2500 minutes remaining. +- March 1: The counter reads: 0/2500 minutes rolled out from February's remaining quota. + +##### Purchasing additional minutes + In order to purchase additional minutes, you should follow these steps: 1. Go to **Group > Settings > Pipelines quota**. Once you are on that page, click on **Buy additional minutes**. |