머지 리퀘스트 승인 설정 API
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 API를 사용하여 그룹 및 프로젝트의 머지 리퀘스트 승인 설정을 관리합니다. 지정된 그룹의 머지 리퀘스트 승인 설정을 조회합니다. 그룹의 머지 리퀘스트 승인 설정을 업데이트합니다. 지정된 프로젝트의 머지 리퀘스트 승인 설정을 조회합니다.
이 API를 사용하여 그룹 및 프로젝트의 머지 리퀘스트 승인 설정을 관리합니다. 모든 엔드포인트는 인증이 필요합니다.
그룹 MR 승인 설정#
사전 조건:
- 그룹의 Owner 역할이 있어야 합니다.
그룹의 MR 승인 설정 조회#
지정된 그룹의 머지 리퀘스트 승인 설정을 조회합니다.
GET /groups/:id/merge_request_approval_setting
매개변수:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 그룹의 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
}
}
그룹 MR 승인 설정 업데이트#
그룹의 머지 리퀘스트 승인 설정을 업데이트합니다.
PUT /groups/:id/merge_request_approval_setting
매개변수:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
allow_author_approval |
불리언 | 아니요 | 작성자의 자체 승인을 허용하거나 방지합니다. true이면 작성자가 자체 승인 가능. |
allow_committer_approval |
불리언 | 아니요 | 커미터의 자체 승인을 허용하거나 방지합니다. |
allow_overrides_to_approver_list_per_merge_request |
불리언 | 아니요 | 머지 리퀘스트별 승인자 목록 재정의를 허용하거나 방지합니다. |
retain_approvals_on_push |
불리언 | 아니요 | 새 푸시 시 승인 수를 유지합니다. |
require_reauthentication_to_approve |
불리언 | 아니요 | 승인을 추가하기 전에 승인자가 인증하도록 요구합니다. 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
}
}
프로젝트 MR 승인 설정#
사전 조건:
- 프로젝트의 Maintainer 역할이 있어야 합니다.
프로젝트의 MR 승인 설정 조회#
지정된 프로젝트의 머지 리퀘스트 승인 설정을 조회합니다.
GET /projects/:id/merge_request_approval_setting
매개변수:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 프로젝트의 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
}
}
프로젝트 MR 승인 설정 업데이트#
프로젝트의 머지 리퀘스트 승인 설정을 업데이트합니다.
PUT /projects/:id/merge_request_approval_setting
매개변수:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
allow_author_approval |
불리언 | 아니요 | 작성자의 자체 승인을 허용하거나 방지합니다. true이면 작성자가 자체 승인 가능. |
allow_committer_approval |
불리언 | 아니요 | 커미터의 자체 승인을 허용하거나 방지합니다. |
allow_overrides_to_approver_list_per_merge_request |
불리언 | 아니요 | 머지 리퀘스트별 승인자 목록 재정의를 허용하거나 방지합니다. |
retain_approvals_on_push |
불리언 | 아니요 | 새 푸시 시 승인 수를 유지합니다. |
selective_code_owner_removals |
불리언 | 아니요 | 파일이 변경된 경우 코드 소유자의 승인을 초기화합니다. 이 필드를 사용하려면 retain_approvals_on_push 필드를 비활성화해야 합니다. |
require_reauthentication_to_approve |
불리언 | 아니요 | 승인을 추가하기 전에 승인자가 인증하도록 요구합니다. 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
}
}
