InfoGrab Docs

멤버 역할 API

요약

이 API를 사용하여 GitLab.com 그룹 또는 GitLab Self-Managed 인스턴스 전체의 멤버 역할과 상호작용합니다. 인스턴스의 모든 멤버 역할을 조회합니다. 인스턴스 전체 멤버 역할을 생성합니다. 사용 가능한 권한에 대한 자세한 내용은 커스텀 권한을 참조하세요.

히스토리

이 API를 사용하여 GitLab.com 그룹 또는 GitLab Self-Managed 인스턴스 전체의 멤버 역할과 상호작용합니다.

인스턴스 멤버 역할 관리#

사전 조건:

모든 인스턴스 멤버 역할 조회#

인스턴스의 모든 멤버 역할을 조회합니다.

GET /member_roles

요청 예시:

curl --request GET \
  --header "Authorization: Bearer <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/member_roles"

응답 예시:

[
  {
    "id": 2,
    "name": "Instance custom role",
    "description": "Custom guest that can read code",
    "group_id": null,
    "base_access_level": 10,
    "admin_cicd_variables": false,
    "admin_compliance_framework": false,
    "admin_group_member": false,
    "admin_merge_request": false,
    "admin_push_rules": false,
    "admin_terraform_state": false,
    "admin_vulnerability": false,
    "admin_web_hook": false,
    "archive_project": false,
    "manage_deploy_tokens": false,
    "manage_group_access_tokens": false,
    "manage_merge_request_settings": false,
    "manage_project_access_tokens": false,
    "manage_security_policy_link": false,
    "read_code": true,
    "read_runners": false,
    "read_dependency": false,
    "read_vulnerability": false,
    "remove_group": false,
    "remove_project": false
  }
]

인스턴스 멤버 역할 생성#

인스턴스 전체 멤버 역할을 생성합니다.

POST /member_roles

지원되는 속성:

속성 유형 필수 설명
name 문자열 멤버 역할의 이름.
description 문자열 아니요 멤버 역할의 설명.
base_access_level 정수 설정된 역할의 기본 액세스 수준. 유효한 값: 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner).
admin_cicd_variables 불리언 아니요 CI/CD 변수를 생성, 읽기, 업데이트 및 삭제하는 권한.
admin_compliance_framework 불리언 아니요 컴플라이언스 프레임워크를 관리하는 권한.
admin_group_member 불리언 아니요 그룹에서 멤버를 추가, 제거 및 할당하는 권한.
admin_merge_request 불리언 아니요 머지 리퀘스트를 승인하는 권한.
admin_push_rules 불리언 아니요 그룹 또는 프로젝트 수준에서 저장소의 푸시 규칙을 설정하는 권한.
admin_terraform_state 불리언 아니요 프로젝트 Terraform 상태를 관리하는 권한.
admin_vulnerability 불리언 아니요 상태 및 이슈 연결을 포함한 취약점 객체를 편집하는 권한.
admin_web_hook 불리언 아니요 웹 훅을 관리하는 권한.
archive_project 불리언 아니요 프로젝트를 보관하는 권한.
manage_deploy_tokens 불리언 아니요 배포 토큰을 관리하는 권한.
manage_group_access_tokens 불리언 아니요 그룹 액세스 토큰을 관리하는 권한.
manage_merge_request_settings 불리언 아니요 머지 리퀘스트 설정을 구성하는 권한.
manage_project_access_tokens 불리언 아니요 프로젝트 액세스 토큰을 관리하는 권한.
manage_security_policy_link 불리언 아니요 보안 정책 프로젝트를 연결하는 권한.
read_code 불리언 아니요 프로젝트 코드를 읽는 권한.
read_runners 불리언 아니요 프로젝트 러너를 보는 권한.
read_dependency 불리언 아니요 프로젝트 의존성을 읽는 권한.
read_vulnerability 불리언 아니요 프로젝트 취약점을 읽는 권한.
remove_group 불리언 아니요 그룹을 삭제하거나 복원하는 권한.
remove_project 불리언 아니요 프로젝트를 삭제하는 권한.

사용 가능한 권한에 대한 자세한 내용은 커스텀 권한을 참조하세요.

요청 예시:

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

응답 예시:

{
  "id": 3,
  "name": "Custom guest (instance)",
  "group_id": null,
  "description": null,
  "base_access_level": 10,
  "admin_cicd_variables": false,
  "admin_compliance_framework": false,
  "admin_group_member": false,
  "admin_merge_request": false,
  "admin_push_rules": false,
  "admin_terraform_state": false,
  "admin_vulnerability": false,
  "admin_web_hook": false,
  "archive_project": false,
  "manage_deploy_tokens": false,
  "manage_group_access_tokens": false,
  "manage_merge_request_settings": false,
  "manage_project_access_tokens": false,
  "manage_security_policy_link": false,
  "read_code": true,
  "read_runners": false,
  "read_dependency": false,
  "read_vulnerability": false,
  "remove_group": false,
  "remove_project": false
}

인스턴스 멤버 역할 삭제#

인스턴스에서 멤버 역할을 삭제합니다.

DELETE /member_roles/:member_role_id

지원되는 속성:

속성 유형 필수 설명
member_role_id 정수 멤버 역할의 ID.

성공하면 204와 빈 응답을 반환합니다.

요청 예시:

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

그룹 멤버 역할 관리#

사전 조건:

  • 그룹의 Owner 역할이 있어야 합니다.

모든 그룹 멤버 역할 조회#

GET /groups/:id/member_roles

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로

요청 예시:

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

응답 예시:

[
  {
    "id": 2,
    "name": "Guest + read code",
    "description": "Custom guest that can read code",
    "group_id": 84,
    "base_access_level": 10,
    "admin_cicd_variables": false,
    "admin_compliance_framework": false,
    "admin_group_member": false,
    "admin_merge_request": false,
    "admin_push_rules": false,
    "admin_terraform_state": false,
    "admin_vulnerability": false,
    "admin_web_hook": false,
    "archive_project": false,
    "manage_deploy_tokens": false,
    "manage_group_access_tokens": false,
    "manage_merge_request_settings": false,
    "manage_project_access_tokens": false,
    "manage_security_policy_link": false,
    "read_code": true,
    "read_runners": false,
    "read_dependency": false,
    "read_vulnerability": false,
    "remove_group": false,
    "remove_project": false
  },
  {
    "id": 3,
    "name": "Guest + security",
    "description": "Custom guest that can read and administer security entities",
    "group_id": 84,
    "base_access_level": 10,
    "admin_cicd_variables": false,
    "admin_compliance_framework": false,
    "admin_group_member": false,
    "admin_merge_request": false,
    "admin_push_rules": false,
    "admin_terraform_state": false,
    "admin_vulnerability": true,
    "admin_web_hook": false,
    "archive_project": false,
    "manage_deploy_tokens": false,
    "manage_group_access_tokens": false,
    "manage_merge_request_settings": false,
    "manage_project_access_tokens": false,
    "manage_security_policy_link": false,
    "read_code": true,
    "read_runners": false,
    "read_dependency": true,
    "read_vulnerability": true,
    "remove_group": false,
    "remove_project": false
  }
]

그룹에 멤버 역할 추가#

히스토리
  • GitLab 16.3에서 커스텀 역할 생성 시 이름(필수) 및 설명(선택)을 추가하는 기능이 도입되었습니다.

그룹에 멤버 역할을 추가합니다. 그룹의 루트 수준에서만 멤버 역할을 추가할 수 있습니다.

POST /groups/:id/member_roles

매개변수:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로.
admin_cicd_variables 불리언 아니요 CI/CD 변수를 생성, 읽기, 업데이트 및 삭제하는 권한.
admin_compliance_framework 불리언 아니요 컴플라이언스 프레임워크를 관리하는 권한.
admin_group_member 불리언 아니요 그룹에서 멤버를 추가, 제거 및 할당하는 권한.
admin_merge_request 불리언 아니요 머지 리퀘스트를 승인하는 권한.
admin_push_rules 불리언 아니요 그룹 또는 프로젝트 수준에서 저장소의 푸시 규칙을 설정하는 권한.
admin_terraform_state 불리언 아니요 프로젝트 Terraform 상태를 관리하는 권한.
admin_vulnerability 불리언 아니요 프로젝트 취약점을 관리하는 권한.
admin_web_hook 불리언 아니요 웹 훅을 관리하는 권한.
archive_project 불리언 아니요 프로젝트를 보관하는 권한.
manage_deploy_tokens 불리언 아니요 배포 토큰을 관리하는 권한.
manage_group_access_tokens 불리언 아니요 그룹 액세스 토큰을 관리하는 권한.
manage_merge_request_settings 불리언 아니요 머지 리퀘스트 설정을 구성하는 권한.
manage_project_access_tokens 불리언 아니요 프로젝트 액세스 토큰을 관리하는 권한.
manage_security_policy_link 불리언 아니요 보안 정책 프로젝트를 연결하는 권한.
read_code 불리언 아니요 프로젝트 코드를 읽는 권한.
read_runners 불리언 아니요 프로젝트 러너를 보는 권한.
read_dependency 불리언 아니요 프로젝트 의존성을 읽는 권한.
read_vulnerability 불리언 아니요 프로젝트 취약점을 읽는 권한.
remove_group 불리언 아니요 그룹을 삭제하거나 복원하는 권한.
remove_project 불리언 아니요 프로젝트를 삭제하는 권한.

요청 예시:

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}' \
  --url "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_cicd_variables": false,
  "admin_compliance_framework": false,
  "admin_group_member": false,
  "admin_merge_request": false,
  "admin_push_rules": false,
  "admin_terraform_state": false,
  "admin_vulnerability": false,
  "admin_web_hook": false,
  "archive_project": false,
  "manage_deploy_tokens": false,
  "manage_group_access_tokens": false,
  "manage_merge_request_settings": false,
  "manage_project_access_tokens": false,
  "manage_security_policy_link": false,
  "read_code": true,
  "read_runners": false,
  "read_dependency": false,
  "read_vulnerability": false,
  "remove_group": false,
  "remove_project": 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>" \
  --url "https://gitlab.example.com/api/v4/groups/84/member_roles/1"

멤버 역할 API

Tier: Ultimate
Offering: GitLab.com
원문 보기
요약

이 API를 사용하여 GitLab.com 그룹 또는 GitLab Self-Managed 인스턴스 전체의 멤버 역할과 상호작용합니다. 인스턴스의 모든 멤버 역할을 조회합니다. 인스턴스 전체 멤버 역할을 생성합니다. 사용 가능한 권한에 대한 자세한 내용은 커스텀 권한을 참조하세요.

히스토리

이 API를 사용하여 GitLab.com 그룹 또는 GitLab Self-Managed 인스턴스 전체의 멤버 역할과 상호작용합니다.

인스턴스 멤버 역할 관리#

사전 조건:

모든 인스턴스 멤버 역할 조회#

인스턴스의 모든 멤버 역할을 조회합니다.

GET /member_roles

요청 예시:

curl --request GET \
  --header "Authorization: Bearer <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/member_roles"

응답 예시:

[
  {
    "id": 2,
    "name": "Instance custom role",
    "description": "Custom guest that can read code",
    "group_id": null,
    "base_access_level": 10,
    "admin_cicd_variables": false,
    "admin_compliance_framework": false,
    "admin_group_member": false,
    "admin_merge_request": false,
    "admin_push_rules": false,
    "admin_terraform_state": false,
    "admin_vulnerability": false,
    "admin_web_hook": false,
    "archive_project": false,
    "manage_deploy_tokens": false,
    "manage_group_access_tokens": false,
    "manage_merge_request_settings": false,
    "manage_project_access_tokens": false,
    "manage_security_policy_link": false,
    "read_code": true,
    "read_runners": false,
    "read_dependency": false,
    "read_vulnerability": false,
    "remove_group": false,
    "remove_project": false
  }
]

인스턴스 멤버 역할 생성#

인스턴스 전체 멤버 역할을 생성합니다.

POST /member_roles

지원되는 속성:

속성 유형 필수 설명
name 문자열 멤버 역할의 이름.
description 문자열 아니요 멤버 역할의 설명.
base_access_level 정수 설정된 역할의 기본 액세스 수준. 유효한 값: 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner).
admin_cicd_variables 불리언 아니요 CI/CD 변수를 생성, 읽기, 업데이트 및 삭제하는 권한.
admin_compliance_framework 불리언 아니요 컴플라이언스 프레임워크를 관리하는 권한.
admin_group_member 불리언 아니요 그룹에서 멤버를 추가, 제거 및 할당하는 권한.
admin_merge_request 불리언 아니요 머지 리퀘스트를 승인하는 권한.
admin_push_rules 불리언 아니요 그룹 또는 프로젝트 수준에서 저장소의 푸시 규칙을 설정하는 권한.
admin_terraform_state 불리언 아니요 프로젝트 Terraform 상태를 관리하는 권한.
admin_vulnerability 불리언 아니요 상태 및 이슈 연결을 포함한 취약점 객체를 편집하는 권한.
admin_web_hook 불리언 아니요 웹 훅을 관리하는 권한.
archive_project 불리언 아니요 프로젝트를 보관하는 권한.
manage_deploy_tokens 불리언 아니요 배포 토큰을 관리하는 권한.
manage_group_access_tokens 불리언 아니요 그룹 액세스 토큰을 관리하는 권한.
manage_merge_request_settings 불리언 아니요 머지 리퀘스트 설정을 구성하는 권한.
manage_project_access_tokens 불리언 아니요 프로젝트 액세스 토큰을 관리하는 권한.
manage_security_policy_link 불리언 아니요 보안 정책 프로젝트를 연결하는 권한.
read_code 불리언 아니요 프로젝트 코드를 읽는 권한.
read_runners 불리언 아니요 프로젝트 러너를 보는 권한.
read_dependency 불리언 아니요 프로젝트 의존성을 읽는 권한.
read_vulnerability 불리언 아니요 프로젝트 취약점을 읽는 권한.
remove_group 불리언 아니요 그룹을 삭제하거나 복원하는 권한.
remove_project 불리언 아니요 프로젝트를 삭제하는 권한.

사용 가능한 권한에 대한 자세한 내용은 커스텀 권한을 참조하세요.

요청 예시:

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

응답 예시:

{
  "id": 3,
  "name": "Custom guest (instance)",
  "group_id": null,
  "description": null,
  "base_access_level": 10,
  "admin_cicd_variables": false,
  "admin_compliance_framework": false,
  "admin_group_member": false,
  "admin_merge_request": false,
  "admin_push_rules": false,
  "admin_terraform_state": false,
  "admin_vulnerability": false,
  "admin_web_hook": false,
  "archive_project": false,
  "manage_deploy_tokens": false,
  "manage_group_access_tokens": false,
  "manage_merge_request_settings": false,
  "manage_project_access_tokens": false,
  "manage_security_policy_link": false,
  "read_code": true,
  "read_runners": false,
  "read_dependency": false,
  "read_vulnerability": false,
  "remove_group": false,
  "remove_project": false
}

인스턴스 멤버 역할 삭제#

인스턴스에서 멤버 역할을 삭제합니다.

DELETE /member_roles/:member_role_id

지원되는 속성:

속성 유형 필수 설명
member_role_id 정수 멤버 역할의 ID.

성공하면 204와 빈 응답을 반환합니다.

요청 예시:

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

그룹 멤버 역할 관리#

사전 조건:

  • 그룹의 Owner 역할이 있어야 합니다.

모든 그룹 멤버 역할 조회#

GET /groups/:id/member_roles

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로

요청 예시:

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

응답 예시:

[
  {
    "id": 2,
    "name": "Guest + read code",
    "description": "Custom guest that can read code",
    "group_id": 84,
    "base_access_level": 10,
    "admin_cicd_variables": false,
    "admin_compliance_framework": false,
    "admin_group_member": false,
    "admin_merge_request": false,
    "admin_push_rules": false,
    "admin_terraform_state": false,
    "admin_vulnerability": false,
    "admin_web_hook": false,
    "archive_project": false,
    "manage_deploy_tokens": false,
    "manage_group_access_tokens": false,
    "manage_merge_request_settings": false,
    "manage_project_access_tokens": false,
    "manage_security_policy_link": false,
    "read_code": true,
    "read_runners": false,
    "read_dependency": false,
    "read_vulnerability": false,
    "remove_group": false,
    "remove_project": false
  },
  {
    "id": 3,
    "name": "Guest + security",
    "description": "Custom guest that can read and administer security entities",
    "group_id": 84,
    "base_access_level": 10,
    "admin_cicd_variables": false,
    "admin_compliance_framework": false,
    "admin_group_member": false,
    "admin_merge_request": false,
    "admin_push_rules": false,
    "admin_terraform_state": false,
    "admin_vulnerability": true,
    "admin_web_hook": false,
    "archive_project": false,
    "manage_deploy_tokens": false,
    "manage_group_access_tokens": false,
    "manage_merge_request_settings": false,
    "manage_project_access_tokens": false,
    "manage_security_policy_link": false,
    "read_code": true,
    "read_runners": false,
    "read_dependency": true,
    "read_vulnerability": true,
    "remove_group": false,
    "remove_project": false
  }
]

그룹에 멤버 역할 추가#

히스토리
  • GitLab 16.3에서 커스텀 역할 생성 시 이름(필수) 및 설명(선택)을 추가하는 기능이 도입되었습니다.

그룹에 멤버 역할을 추가합니다. 그룹의 루트 수준에서만 멤버 역할을 추가할 수 있습니다.

POST /groups/:id/member_roles

매개변수:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로.
admin_cicd_variables 불리언 아니요 CI/CD 변수를 생성, 읽기, 업데이트 및 삭제하는 권한.
admin_compliance_framework 불리언 아니요 컴플라이언스 프레임워크를 관리하는 권한.
admin_group_member 불리언 아니요 그룹에서 멤버를 추가, 제거 및 할당하는 권한.
admin_merge_request 불리언 아니요 머지 리퀘스트를 승인하는 권한.
admin_push_rules 불리언 아니요 그룹 또는 프로젝트 수준에서 저장소의 푸시 규칙을 설정하는 권한.
admin_terraform_state 불리언 아니요 프로젝트 Terraform 상태를 관리하는 권한.
admin_vulnerability 불리언 아니요 프로젝트 취약점을 관리하는 권한.
admin_web_hook 불리언 아니요 웹 훅을 관리하는 권한.
archive_project 불리언 아니요 프로젝트를 보관하는 권한.
manage_deploy_tokens 불리언 아니요 배포 토큰을 관리하는 권한.
manage_group_access_tokens 불리언 아니요 그룹 액세스 토큰을 관리하는 권한.
manage_merge_request_settings 불리언 아니요 머지 리퀘스트 설정을 구성하는 권한.
manage_project_access_tokens 불리언 아니요 프로젝트 액세스 토큰을 관리하는 권한.
manage_security_policy_link 불리언 아니요 보안 정책 프로젝트를 연결하는 권한.
read_code 불리언 아니요 프로젝트 코드를 읽는 권한.
read_runners 불리언 아니요 프로젝트 러너를 보는 권한.
read_dependency 불리언 아니요 프로젝트 의존성을 읽는 권한.
read_vulnerability 불리언 아니요 프로젝트 취약점을 읽는 권한.
remove_group 불리언 아니요 그룹을 삭제하거나 복원하는 권한.
remove_project 불리언 아니요 프로젝트를 삭제하는 권한.

요청 예시:

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}' \
  --url "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_cicd_variables": false,
  "admin_compliance_framework": false,
  "admin_group_member": false,
  "admin_merge_request": false,
  "admin_push_rules": false,
  "admin_terraform_state": false,
  "admin_vulnerability": false,
  "admin_web_hook": false,
  "archive_project": false,
  "manage_deploy_tokens": false,
  "manage_group_access_tokens": false,
  "manage_merge_request_settings": false,
  "manage_project_access_tokens": false,
  "manage_security_policy_link": false,
  "read_code": true,
  "read_runners": false,
  "read_dependency": false,
  "read_vulnerability": false,
  "remove_group": false,
  "remove_project": 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>" \
  --url "https://gitlab.example.com/api/v4/groups/84/member_roles/1"