Help us learn about your current experience with the documentation. Take the survey.
合并请求批准设置 API
- Tier: Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
配置组或项目中所有合并请求的批准设置。 所有端点都需要身份验证。
组合并请求批准设置
前提条件:
- 您必须拥有该组的 Owner 角色。
获取组合并请求批准设置
获取组的合并请求批准设置。
GET /groups/:id/merge_request_approval_setting参数:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer 或 string | 是 | 组的 ID 或 URL 编码路径。 |
示例请求:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/:id/merge_request_approval_setting"示例响应:
{
"allow_author_approval": {
"value": true,
"locked": false,
"inherited_from": null
},
"allow_committer_approval": {
"value": true,
"locked": false,
"inherited_from": null
},
"allow_overrides_to_approver_list_per_merge_request": {
"value": true,
"locked": false,
"inherited_from": null
},
"retain_approvals_on_push": {
"value": false,
"locked": false,
"inherited_from": null
},
"selective_code_owner_removals": {
"value": false,
"locked": false,
"inherited_from": null
},
"require_password_to_approve": {
"value": false,
"locked": false,
"inherited_from": null
},
"require_reauthentication_to_approve": {
"value": false,
"locked": false,
"inherited_from": null
}
}更新组合并请求批准设置
更新组的合并请求批准设置。
PUT /groups/:id/merge_request_approval_setting参数:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer 或 string | 是 | 组的 ID 或 URL 编码路径。 |
allow_author_approval |
boolean | 否 | 允许或阻止作者自行批准其合并请求;true 表示作者可以自行批准。 |
allow_committer_approval |
boolean | 否 | 允许或阻止提交者自行批准合并请求。 |
allow_overrides_to_approver_list_per_merge_request |
boolean | 否 | 允许或阻止为每个合并请求覆盖批准者列表。 |
retain_approvals_on_push |
boolean | 否 | 在新推送时保留批准计数。 |
selective_code_owner_removals |
boolean | 否 | 如果代码所有者(Code Owners)的文件发生更改,则重置他们的批准。要使用此字段,您必须禁用 retain_approvals_on_push 字段。 |
require_reauthentication_to_approve |
boolean | 否 | 要求批准者在添加批准前进行身份验证。在 GitLab 17.1 中引入。 |
示例请求:
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/:id/merge_request_approval_setting?allow_author_approval=false"示例响应:
{
"allow_author_approval": {
"value": false,
"locked": false,
"inherited_from": null
},
"allow_committer_approval": {
"value": true,
"locked": false,
"inherited_from": null
},
"allow_overrides_to_approver_list_per_merge_request": {
"value": true,
"locked": false,
"inherited_from": null
},
"retain_approvals_on_push": {
"value": false,
"locked": false,
"inherited_from": null
},
"selective_code_owner_removals": {
"value": false,
"locked": false,
"inherited_from": null
},
"require_password_to_approve": {
"value": false,
"locked": false,
"inherited_from": null
},
"require_reauthentication_to_approve": {
"value": false,
"locked": false,
"inherited_from": null
}
}项目合并请求批准设置
前提条件:
- 您必须拥有该项目的 Maintainer 角色。
获取项目合并请求批准设置
获取项目的合并请求批准设置。
GET /projects/:id/merge_request_approval_setting参数:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer 或 string | 是 | 项目的 ID 或 URL 编码路径。 |
示例请求:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/:id/merge_request_approval_setting"示例响应:
{
"allow_author_approval": {
"value": true,
"locked": false,
"inherited_from": null
},
"allow_committer_approval": {
"value": true,
"locked": false,
"inherited_from": null
},
"allow_overrides_to_approver_list_per_merge_request": {
"value": true,
"locked": false,
"inherited_from": null
},
"retain_approvals_on_push": {
"value": false,
"locked": true,
"inherited_from": "group"
},
"selective_code_owner_removals": {
"value": false,
"locked": false,
"inherited_from": null
},
"require_password_to_approve": {
"value": false,
"locked": false,
"inherited_from": null
},
"require_reauthentication_to_approve": {
"value": false,
"locked": false,
"inherited_from": null
}
}更新项目合并请求批准设置
更新项目的合并请求批准设置。
PUT /projects/:id/merge_request_approval_setting参数:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer 或 string | 是 | 组的 ID 或 URL 编码路径。 |
allow_author_approval |
boolean | 否 | 允许或阻止作者自行批准其合并请求;true 表示作者可以自行批准。 |
allow_committer_approval |
boolean | 否 | 允许或阻止提交者自行批准合并请求。 |
allow_overrides_to_approver_list_per_merge_request |
boolean | 否 | 允许或阻止为每个合并请求覆盖批准者列表。 |
retain_approvals_on_push |
boolean | 否 | 在新推送时保留批准计数。 |
selective_code_owner_removals |
boolean | 否 | 如果代码所有者(Code Owners)的文件发生更改,则重置他们的批准。要使用此字段,您必须禁用 retain_approvals_on_push 字段。 |
require_reauthentication_to_approve |
boolean | 否 | 要求批准者在添加批准前进行身份验证。在 GitLab 17.1 中引入。 |
示例请求:
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/:id/merge_request_approval_setting?allow_author_approval=false"示例响应:
{
"allow_author_approval": {
"value": false,
"locked": false,
"inherited_from": null
},
"allow_committer_approval": {
"value": true,
"locked": false,
"inherited_from": null
},
"allow_overrides_to_approver_list_per_merge_request": {
"value": true,
"locked": false,
"inherited_from": null
},
"retain_approvals_on_push": {
"value": false,
"locked": false,
"inherited_from": null
},
"selective_code_owner_removals": {
"value": false,
"locked": false,
"inherited_from": null
},
"require_password_to_approve": {
"value": false,
"locked": false,
"inherited_from": null
},
"require_reauthentication_to_approve": {
"value": false,
"locked": false,
"inherited_from": null
}
}