회원 역할 API

Tier: Ultimate Offering: GitLab.com

그룹의 모든 회원 역할 나열

인증된 사용자가 볼 수 있는 그룹 회원 역할 목록을 가져옵니다.

GET /groups/:id/member_roles
속성 유형 필요 여부 설명
id 정수/문자열 인증된 사용자가 소유한 그룹의 ID 또는 URL-인코딩된 경로

성공하면 200 및 다음 응답 속성이 반환됩니다:

속성 유형 설명
[].id 정수 회원 역할의 ID
[].name 문자열 회원 역할의 이름
[].description 문자열 회원 역할의 설명
[].group_id 정수 회원 역할이 속한 그룹의 ID
[].base_access_level 정수 회원 역할의 기본 액세스 수준. 10 (게스트), 20 (리포터), 30 (개발자), 40 (관리자), 또는 50 (소유자)인 유효한 값입니다.
[].admin_merge_request 부울 프로젝트 병합 요청을 관리하고 download_code 기능을 활성화하는 권한
[].admin_terraform_state 부울 프로젝트 테라폼 상태를 관리하는 권한
[].admin_vulnerability 부울 프로젝트 취약점을 관리하는 권한
[].read_code 부울 프로젝트 코드를 읽는 권한
[].read_dependency 부울 프로젝트 종속성을 읽는 권한
[].read_vulnerability 부울 프로젝트 취약점을 읽는 권한
[].admin_group_member 부울 그룹 멤버를 관리하는 권한
[].manage_project_access_tokens 부울 프로젝트 액세스 토큰을 관리하는 권한
[].archive_project 부울 프로젝트를 아카이브하는 권한
[].remove_project 부울 프로젝트를 삭제하는 권한
[].manage_group_access_tokens 부울 그룹 액세스 토큰을 관리하는 권한

예시 요청:

curl --header "Authorization: Bearer <your_access_token>" "https://gitlab.example.com/api/v4/groups/84/member_roles"

예시 응답:

[
  {
    "id": 2,
    "name": "Custom + code",
    "description": "코드를 읽을 수 있는 사용자 정의 게스트",
    "group_id": 84,
    "base_access_level": 10,
    "admin_merge_request": false,
    "admin_terraform_state": false,
    "admin_vulnerability": false,
    "read_code": true,
    "read_dependency": false,
    "read_vulnerability": false,
    "manage_group_access_tokens": false,
    "manage_project_access_tokens": false,
    "archive_project": false,
    "remove_project": false
  },
  {
    "id": 3,
    "name": "게스트 + 보안",
    "description": "읽고 보안 엔터티를 관리할 수 있는 사용자 정의 게스트",
    "group_id": 84,
    "base_access_level": 10,
    "admin_vulnerability": true,
    "admin_merge_request": false,
    "admin_terraform_state": false,
    "read_code": false,
    "read_dependency": true,
    "read_vulnerability": true,
    "manage_group_access_tokens": false,
    "manage_project_access_tokens": false,
    "archive_project": false,
    "remove_project": false
  }
]

그룹에 멤버 역할 추가

  • 사용자 지정 역할을 만들 때 이름과 설명을 추가하는 기능은 GitLab 16.3에서 도입되었습니다.

그룹에 멤버 역할을 추가합니다.

POST /groups/:id/member_roles

그룹에 멤버 역할을 추가하려면 그룹은 루트 수준이어야 합니다(상위 그룹이 없어야 함).

속성 유형 필수 여부 설명
id 정수/문자열 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로
name 문자열 멤버 역할의 이름
description 문자열 아니오 멤버 역할의 설명
base_access_level 정수 구성된 역할의 기본 액세스 수준. 유효한 값은 10(Guest), 20(Reporter), 30(Developer), 40(Maintainer) 또는 50(Owner)입니다.
admin_merge_request 부울 아니오 프로젝트 병합 요청을 관리할 권한
admin_terraform_state 부울 아니오 프로젝트 테라폼 상태를 관리할 권한
admin_vulnerability 부울 아니오 프로젝트 취약점을 관리할 권한
read_code 부울 아니오 프로젝트 코드를 읽을 권한
read_dependency 부울 아니오 프로젝트 종속성을 읽을 권한
read_vulnerability 부울 아니오 프로젝트 취약점을 읽을 권한

성공 시 201 및 다음 속성을 반환합니다:

속성 유형 설명
id 정수 멤버 역할의 ID
name 문자열 멤버 역할의 이름
description 문자열 멤버 역할의 설명
group_id 정수 멤버 역할이 속한 그룹의 ID
base_access_level 정수 멤버 역할의 기본 액세스 수준
admin_merge_request 부울 프로젝트 병합 요청을 관리할 권한
admin_terraform_state 부울 프로젝트 테라폼 상태를 관리할 권한
admin_vulnerability 부울 프로젝트 취약점을 관리할 권한
read_code 부울 프로젝트 코드를 읽을 권한
read_dependency 부울 프로젝트 종속성을 읽을 권한
read_vulnerability 부울 프로젝트 취약점을 읽을 권한

예시 요청:

 curl --request POST --header "Content-Type: application/json" --header "Authorization: Bearer <your_access_token>" --data '{"name" : "Custom guest", "base_access_level" : 10, "read_code" : true}' "https://gitlab.example.com/api/v4/groups/84/member_roles"

예시 응답:

{
  "id": 3,
  "name": "Custom guest",
  "description": null,
  "group_id": 84,
  "base_access_level": 10,
  "admin_merge_requests": false,
  "admin_vulnerability": false,
  "read_code": true,
  "read_dependency": false,
  "read_vulnerability": false
}

GitLab 16.3 이상에서 API를 사용하여 다음을 수행할 수 있습니다:

  • 새로운 사용자 정의 역할을 생성할 때 이름(필수) 및 설명(선택)을 추가합니다.
  • 기존 사용자 정의 역할의 이름 및 설명을 업데이트합니다.

그룹의 멤버 역할 삭제

그룹의 멤버 역할을 삭제합니다.

DELETE /groups/:id/member_roles/:member_role_id
속성 유형 필수 여부 설명
id 정수/문자열 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로
member_role_id 정수 멤버 역할의 ID

성공 시 204 및 빈 응답을 반환합니다.

예시 요청:

curl --request DELETE --header "Content-Type: application/json" --header "Authorization: Bearer <your_access_token>" "https://gitlab.example.com/api/v4/groups/84/member_roles/1"