Commit e27800cd authored by Marcia Ramos's avatar Marcia Ramos

Merge branch '460-api-update-docs' into 'master'

Docs: Scope approval rules by protected branches via API

See merge request gitlab-org/gitlab!22754
parents 6d92cec2 680ebafd
...@@ -63,7 +63,8 @@ POST /projects/:id/approvals ...@@ -63,7 +63,8 @@ POST /projects/:id/approvals
### Get project-level rules ### 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: You can request information about a project's approval rules using the following endpoint:
...@@ -130,6 +131,31 @@ GET /projects/:id/approval_rules ...@@ -130,6 +131,31 @@ GET /projects/:id/approval_rules
"ldap_access": null "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 "contains_hidden_groups": false
} }
] ]
...@@ -147,13 +173,14 @@ POST /projects/:id/approval_rules ...@@ -147,13 +173,14 @@ POST /projects/:id/approval_rules
**Parameters:** **Parameters:**
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
|----------------------|---------|----------|-----------------------------------------------------------| |------------------------|---------|----------|------------------------------------------------------------------|
| `id` | integer | yes | The ID of a project | | `id` | integer | yes | The ID of a project |
| `name` | string | yes | The name of the approval rule | | `name` | string | yes | The name of the approval rule |
| `approvals_required` | integer | yes | The number of required approvals for this rule | | `approvals_required` | integer | yes | The number of required approvals for this rule |
| `user_ids` | Array | no | The ids of users as approvers | | `user_ids` | Array | no | The ids of users as approvers |
| `group_ids` | Array | no | The ids of groups 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 ```json
{ {
...@@ -207,6 +234,31 @@ POST /projects/:id/approval_rules ...@@ -207,6 +234,31 @@ POST /projects/:id/approval_rules
"ldap_access": null "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 "contains_hidden_groups": false
} }
``` ```
...@@ -225,14 +277,15 @@ PUT /projects/:id/approval_rules/:approval_rule_id ...@@ -225,14 +277,15 @@ PUT /projects/:id/approval_rules/:approval_rule_id
**Parameters:** **Parameters:**
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
|----------------------|---------|----------|-----------------------------------------------------------| |------------------------|---------|----------|------------------------------------------------------------------|
| `id` | integer | yes | The ID of a project | | `id` | integer | yes | The ID of a project |
| `approval_rule_id` | integer | yes | The ID of a approval rule | | `approval_rule_id` | integer | yes | The ID of a approval rule |
| `name` | string | yes | The name of the approval rule | | `name` | string | yes | The name of the approval rule |
| `approvals_required` | integer | yes | The number of required approvals for this rule | | `approvals_required` | integer | yes | The number of required approvals for this rule |
| `user_ids` | Array | no | The ids of users as approvers | | `user_ids` | Array | no | The ids of users as approvers |
| `group_ids` | Array | no | The ids of groups 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 ```json
{ {
...@@ -286,6 +339,31 @@ PUT /projects/:id/approval_rules/:approval_rule_id ...@@ -286,6 +339,31 @@ PUT /projects/:id/approval_rules/:approval_rule_id
"ldap_access": null "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 "contains_hidden_groups": false
} }
``` ```
......
...@@ -34,6 +34,7 @@ Example response: ...@@ -34,6 +34,7 @@ Example response:
```json ```json
[ [
{ {
"id": 1,
"name": "master", "name": "master",
"push_access_levels": [ "push_access_levels": [
{ {
...@@ -61,6 +62,7 @@ Example response: ...@@ -61,6 +62,7 @@ Example response:
```json ```json
[ [
{ {
"id": 1,
"name": "master", "name": "master",
"push_access_levels": [ "push_access_levels": [
{ {
...@@ -105,6 +107,7 @@ Example response: ...@@ -105,6 +107,7 @@ Example response:
```json ```json
{ {
"id": 1,
"name": "master", "name": "master",
"push_access_levels": [ "push_access_levels": [
{ {
...@@ -129,6 +132,7 @@ Example response: ...@@ -129,6 +132,7 @@ Example response:
```json ```json
{ {
"id": 1,
"name": "master", "name": "master",
"push_access_levels": [ "push_access_levels": [
{ {
...@@ -179,6 +183,7 @@ Example response: ...@@ -179,6 +183,7 @@ Example response:
```json ```json
{ {
"id": 1,
"name": "*-stable", "name": "*-stable",
"push_access_levels": [ "push_access_levels": [
{ {
...@@ -209,6 +214,7 @@ Example response: ...@@ -209,6 +214,7 @@ Example response:
```json ```json
{ {
"id": 1,
"name": "*-stable", "name": "*-stable",
"push_access_levels": [ "push_access_levels": [
{ {
...@@ -251,6 +257,7 @@ Example response: ...@@ -251,6 +257,7 @@ Example response:
```json ```json
{ {
"id": 1,
"name": "*-stable", "name": "*-stable",
"push_access_levels": [ "push_access_levels": [
{ {
......
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