회원 역할 API

Tier: Ultimate Offering: GitLab.com

그룹의 모든 회원 역할 나열

인증된 사용자가 볼 수 있는 그룹 회원 역할의 디렉터리을 가져옵니다.

GET /groups/:id/member_roles
속성 유형 필수 설명
id integer/string 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로

성공하면 200을 반환하며 다음과 같은 응답 속성을 반환합니다:

속성 유형 설명
[].id integer 회원 역할의 ID입니다.
[].name string 회원 역할의 이름입니다.
[].description string 회원 역할의 설명입니다.
[].group_id integer 회원 역할이 속한 그룹의 ID입니다.
[].base_access_level integer 회원 역할의 기본 액세스 레벨입니다. 유효한 값은 10 (게스트), 20 (기고자), 30 (개발자), 40 (유지 관리자) 또는 50 (소유자)입니다.
[].admin_merge_request boolean 프로젝트 Merge Request을 관리하고 download_code 기능을 활성화하는 권한입니다.
[].admin_terraform_state boolean 프로젝트 테라폼 상태를 관리하는 권한입니다.
[].admin_vulnerability boolean 프로젝트 취약성을 관리하는 권한입니다.
[].read_code boolean 프로젝트 코드를 읽는 권한입니다.
[].read_dependency boolean 프로젝트 의존성을 읽는 권한입니다.
[].read_vulnerability boolean 프로젝트 취약성을 읽는 권한입니다.
[].admin_group_member boolean 그룹 구성원을 관리하는 권한입니다.
[].manage_project_access_tokens boolean 프로젝트 접근 토큰을 관리하는 권한입니다.
[].archive_project boolean 프로젝트를 보관하는 권한입니다.
[].remove_project boolean 프로젝트를 삭제하는 권한입니다.

예시 요청:

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

예시 응답:

[
  {
    "id": 2,
    "name": "커스텀 + 코드",
    "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 integer/string 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로
name string 회원 역할의 이름입니다.
description string 아니오 회원 역할의 설명입니다.
base_access_level integer 구성된 역할의 기본 액세스 레벨입니다. 유효한 값은 10 (게스트), 20 (기고자), 30 (개발자), 40 (유지 관리자), 50 (소유자)입니다.
admin_merge_request boolean 아니오 프로젝트 Merge Request을 관리하는 권한입니다.
admin_terraform_state boolean 아니오 프로젝트 테라폼 상태를 관리하는 권한입니다.
admin_vulnerability boolean 아니오 프로젝트 취약성을 관리하는 권한입니다.
read_code boolean 아니오 프로젝트 코드를 읽는 권한입니다.
read_dependency boolean 아니오 프로젝트 의존성을 읽는 권한입니다.
read_vulnerability boolean 아니오 프로젝트 취약성을 읽는 권한입니다.

성공하면 201을 반환하며 다음 속성을 반환합니다:

속성 유형 설명
id integer 회원 역할의 ID입니다.
name string 회원 역할의 이름입니다.
description string 회원 역할의 설명입니다.
group_id integer 회원 역할이 속한 그룹의 ID입니다.
base_access_level integer 회원 역할의 기본 액세스 레벨입니다.
admin_merge_request boolean 프로젝트 Merge Request을 관리하는 권한입니다.
admin_terraform_state boolean 프로젝트 테라폼 상태를 관리하는 권한입니다.
admin_vulnerability boolean 프로젝트 취약성을 관리하는 권한입니다.
read_code boolean 프로젝트 코드를 읽는 권한입니다.
read_dependency boolean 프로젝트 의존성을 읽는 권한입니다.
read_vulnerability boolean 프로젝트 취약성을 읽는 권한입니다.

예시 요청:

 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"