InfoGrab Docs

머지 리퀘스트 승인 설정 API

요약

이 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
  }
}

머지 리퀘스트 승인 설정 API

Tier: Premium, Ultimate
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
  }
}