- 역할
- 제한 사항
- 그룹 또는 프로젝트의 모든 멤버 나열
- 그룹 또는 프로젝트의 상속 및 초대 멤버를 포함한 모든 멤버 나열
- 그룹 또는 프로젝트 멤버 가져오기
- 상속 및 초대된 멤버를 포함하여 그룹 또는 프로젝트 멤버 가져오기
- 그룹의 모든 과금 대상 멤버 나열
- 그룹의 과금 가능한 회원 디렉터리 확인
- 그룹에서 과금 가능한 회원 제거
- 그룹에서 사용자의 회원 상태 변경
- 그룹 또는 프로젝트에 회원 추가
- 그룹 또는 프로젝트 구성원 수정
- 그룹 또는 프로젝트에서 멤버 제거
- 그룹에 멤버를 승인
- 그룹에 대기 중인 모든 멤버를 승인
- 그룹 및 해당 하위 그룹과 프로젝트의 대기 중인 멤버 디렉터리 확인
- 프로젝트에 그룹 액세스 권한 부여
그룹 및 프로젝트 멤버 API
created_by
필드는 GitLab 14.10에서 도입되었습니다.
역할
사용자 또는 그룹에 할당된 역할은 Gitlab::Access
모듈에서 access_level
로 정의됩니다.
- 접근 없음 (
0
) - 최소한의 접근권한 (
5
) (GitLab 13.5에서 도입되었습니다.) - 게스트 (
10
) - 기고자 (
20
) - 개발자 (
30
) - 유지자 (
40
) - 소유자 (
50
). GitLab 14.9 및 이후의 프로젝트에서 유효.
access_level
이 50
(소유자)입니다.
GitLab 14.8 및 이전에서는 개인 네임스페이스의 프로젝트가 이슈로 인해 access_level
이 40
(유지자)입니다.제한 사항
group_saml_identity
속성은 SSO 활성 그룹의 그룹 소유자에게만 표시됩니다.
email
속성은 API 요청이 그룹 자체 또는 해당 그룹의 하위 그룹 또는 프로젝트로 전송될 때, 해당 그룹의 기업 사용자에게만 표시됩니다.
그룹 또는 프로젝트의 모든 멤버 나열
인증된 사용자가 볼 수 있는 그룹 또는 프로젝트 멤버의 디렉터리을 가져옵니다. 직접 멤버만 반환하며 조상 그룹을 통해 상속된 멤버는 반환하지 않습니다.
이 함수는 사용자 디렉터리을 제한하는 페이지네이션 매개변수 page
및 per_page
를 사용합니다.
GET /groups/:id/members
GET /projects/:id/members
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트 또는 그룹의 URL 인코드된 경로 또는 ID |
query
| 문자열 | 아니오 | 멤버를 검색할 쿼리 문자열 |
user_ids
| 정수 배열 | 아니오 | 주어진 사용자 ID로 결과 필터링 |
skip_users
| 정수 배열 | 아니오 | 결과에서 건너뛰는 사용자 필터링 |
show_seat_info
| 부울 | 아니오 | 사용자의 시트 정보 표시 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members"
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members"
응답 예시:
[
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-09-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 30,
"group_saml_identity": null
},
{
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-09-22T14:13:35Z",
"created_by": {
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 30,
"email": "john@example.com",
"group_saml_identity": {
"extern_uid":"ABC-1234567890",
"provider": "group_saml",
"saml_provider_id": 10
}
}
]
그룹 또는 프로젝트의 상속 및 초대 멤버를 포함한 모든 멤버 나열
인증된 사용자가 볼 수 있는 그룹 또는 프로젝트 멤버의 디렉터리을 가져옵니다. 이에는 상속된 멤버, 초대된 사용자 및 조상 그룹을 통한 권한이 포함됩니다.
사용자가 이 그룹이나 프로젝트의 멤버이고 하나 이상의 조상 그룹에도 속한 경우, 가장 높은 access_level
권한의 멤버십만 반환됩니다.
(GitLab 13.11에서 개선되었습니다.)
이것은 사용자의 유효한 권한을 나타냅니다.
초대된 그룹의 멤버는 다음 중 하나인 경우 반환됩니다.
- 초대된 그룹이 공개 상태인 경우.
- 요청자가 초대된 그룹의 멤버도 되는 경우.
이 함수는 사용자 디렉터리을 제한하는 페이지네이션 매개변수 page
및 per_page
를 사용합니다.
GET /groups/:id/members/all
GET /projects/:id/members/all
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트 또는 그룹의 URL 인코드된 경로 또는 ID |
query
| 문자열 | 아니오 | 멤버를 검색할 쿼리 문자열 |
user_ids
| 정수 배열 | 아니오 | 주어진 사용자 ID로 결과 필터링 |
show_seat_info
| 부울 | 아니오 | 사용자의 시트 정보 표시 |
state
| 문자열 | 아니오 | 멤버 상태별 결과 필터링, awaiting 또는 active 중 하나. Premium 및 Ultimate 전용.
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/all"
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members/all"
응답 예시:
[
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-09-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 30,
"group_saml_identity": null
},
{
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-09-22T14:13:35Z",
"created_by": {
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 30,
"email": "john@example.com",
"group_saml_identity": {
"extern_uid":"ABC-1234567890",
"provider": "group_saml",
"saml_provider_id": 10
}
},
{
"id": 3,
"username": "foo_bar",
"name": "Foo bar",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-11-22T14:13:35Z",
"access_level": 30,
"group_saml_identity": null
}
]
그룹 또는 프로젝트 멤버 가져오기
그룹 또는 프로젝트 멤버를 가져옵니다. 직접 멤버만 반환하며 조상 그룹을 통해 상속된 멤버는 반환되지 않습니다.
GET /groups/:id/members/:user_id
GET /projects/:id/members/:user_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트 또는 그룹의 ID 또는 URL 인코딩된 경로 |
user_id
| 정수 | 예 | 멤버의 사용자 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id"
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members/:user_id"
예시 응답:
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"access_level": 30,
"email": "john@example.com",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": null,
"group_saml_identity": null
}
상속 및 초대된 멤버를 포함하여 그룹 또는 프로젝트 멤버 가져오기
- GitLab 12.4에서 도입됨.
조상 그룹을 통해 상속되거나 초대된 멤버를 포함하여 그룹 또는 프로젝트 멤버를 가져옵니다. 자세한 내용은 해당 엔드포인트에서 상속된 멤버를 모두 나열하는 것을 참조하세요.
GET /groups/:id/members/all/:user_id
GET /projects/:id/members/all/:user_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트 또는 그룹의 ID 또는 URL 인코딩된 경로 |
user_id
| 정수 | 예 | 멤버의 사용자 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/all/:user_id"
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members/all/:user_id"
예시 응답:
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"access_level": 30,
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"email": "john@example.com",
"expires_at": null,
"group_saml_identity": null
}
그룹의 모든 과금 대상 멤버 나열
- GitLab 13.5에서 도입됨.
과금 대상으로 취급되는 그룹 멤버의 디렉터리을 가져옵니다. 하위 그룹과 프로젝트의 멤버를 포함합니다.
이 API 엔드포인트는 최상위 그룹에서만 작동합니다. 하위 그룹에서 작동하지 않습니다.
이 함수는 사용자 디렉터리을 제한하는 페이지네이션(pagination) 매개변수 page
및 per_page
를 사용합니다.
GitLab 13.7 이상에서, search
매개변수를 사용하여 이름별 과금 그룹 멤버를 검색하고 결과를 정렬하는데 sort
를 사용합니다.
GET /groups/:id/billable_members
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로 |
search
| 문자열 | 아니오 | 이름, 사용자 이름 또는 공개 이메일로 그룹 멤버를 검색하는 쿼리 문자열 |
sort
| 문자열 | 아니오 | 정렬 속성과 순서를 지정하는 매개변수를 포함하는 쿼리 문자열. 지원되는 값은 아래와 같습니다. |
sort
속성에 대한 지원되는 값은:
값 | 설명 |
---|---|
access_level_asc
| 액세스 수준, 오름차순 |
access_level_desc
| 액세스 수준, 내림차순 |
last_joined
| 마지막 가입 날짜 |
name_asc
| 이름, 오름차순 |
name_desc
| 이름, 내림차순 |
oldest_joined
| 가장 오래된 가입 날짜 |
oldest_sign_in
| 가장 오래된 로그인 |
recent_sign_in
| 최근 로그인 |
last_activity_on_asc
| 최근 활동 날짜, 오름차순 |
last_activity_on_desc
| 최근 활동 날짜, 내림차순 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/billable_members"
예시 응답:
[
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"last_activity_on": "2021-01-27",
"membership_type": "group_member",
"removable": true,
"created_at": "2021-01-03T12:16:02.000Z",
"last_login_at": "2022-10-09T01:33:06.000Z"
},
{
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"email": "john@example.com",
"last_activity_on": "2021-01-25",
"membership_type": "group_member",
"removable": true,
"created_at": "2021-01-04T18:46:42.000Z",
"last_login_at": "2022-09-29T22:18:46.000Z"
},
{
"id": 3,
"username": "foo_bar",
"name": "Foo bar",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"last_activity_on": "2021-01-20",
"membership_type": "group_invite",
"removable": false,
"created_at": "2021-01-09T07:12:31.000Z",
"last_login_at": "2022-10-10T07:28:56.000Z"
}
]
그룹의 과금 가능한 회원 디렉터리 확인
- GitLab 13.11에서 도입됨.
그룹의 과금 가능한 회원의 회원 디렉터리을 가져옵니다.
사용자가 속한 모든 프로젝트와 그룹의 디렉터리을 표시합니다. 그룹 계층 구조 내의 프로젝트와 그룹만 포함됩니다.
예를 들어, 요청된 그룹이 루트 그룹
이고 요청된 사용자가 루트 그룹 / 서브 그룹 1
및 다른 그룹 / 서브 그룹 2
에 직접 회원인 경우 루트 그룹 / 서브 그룹 1
만 반환됩니다. 왜냐하면 다른 그룹 / 서브 그룹 2
는 루트 그룹
계층 내에 없기 때문입니다.
응답은 직접 회원만 나타냅니다. 상속된 회원은 포함되지 않습니다.
이 API 엔드포인트는 최상위 그룹에서만 작동합니다. 하위 그룹에서는 작동하지 않습니다.
이 API 엔드포인트는 그룹의 회원을 관리할 수 있는 권한이 필요합니다.
이 API 엔드포인트는 디렉터리을 제한하기 위해 페이지네이션 매개변수 page
와 per_page
를 사용합니다.
GET /groups/:id/billable_members/:user_id/memberships
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL로 인코딩된 경로 |
user_id
| 정수 | 예 | 과금 가능한 멤버의 사용자 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/billable_members/:user_id/memberships"
응답 예시:
[
{
"id": 168,
"source_id": 131,
"source_full_name": "Root Group / Sub Group One",
"source_members_url": "https://gitlab.example.com/groups/root-group/sub-group-one/-/group_members",
"created_at": "2021-03-31T17:28:44.812Z",
"expires_at": "2022-03-21",
"access_level": {
"string_value": "Developer",
"integer_value": 30
}
},
{
"id": 169,
"source_id": 63,
"source_full_name": "Root Group / Sub Group One / My Project",
"source_members_url": "https://gitlab.example.com/root-group/sub-group-one/my-project/-/project_members",
"created_at": "2021-03-31T17:29:14.934Z",
"expires_at": null,
"access_level": {
"string_value": "Maintainer",
"integer_value": 40
}
}
]
그룹에서 과금 가능한 회원 제거
그룹과 해당 하위 그룹 및 프로젝트에서 과금 가능한 회원을 제거합니다.
사용자가 제거 대상 그룹의 구성원이어야 할 필요는 없습니다. 예를 들어, 사용자가 그룹 내의 프로젝트에 직접 추가된 경우에도 이 API를 사용하여 그들을 제거할 수 있습니다.
DELETE /groups/:id/billable_members/:user_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL로 인코딩된 경로 |
user_id
| 정수 | 예 | 회원의 사용자 ID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/billable_members/:user_id"
그룹에서 사용자의 회원 상태 변경
- GitLab 15.0에서 도입됨.
그룹에서 사용자의 회원 상태를 변경합니다. 이 상태는 모든 하위 그룹 및 프로젝트에 적용됩니다.
PUT /groups/:id/members/:user_id/state
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL로 인코딩된 경로 |
user_id
| 정수 | 예 | 사용자의 회원 ID |
state
| 문자열 | 예 | 사용자의 새 상태입니다. 상태는 awaiting 또는 active 중 하나입니다.
|
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id/state?state=active"
응답 예시:
{
"success":true
}
그룹 또는 프로젝트에 회원 추가
그룹 또는 프로젝트에 회원을 추가합니다.
POST /groups/:id/members
POST /projects/:id/members
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트 또는 그룹의 ID 또는 URL로 인코딩된 경로 |
user_id
| 정수/문자열 | 예 | 새 멤버의 사용자 ID 또는 쉼표로 구분된 여러 ID |
access_level
| 정수 | 예 | 유효한 액세스 수준 |
expires_at
| 문자열 | 아니요 |
YEAR-MONTH-DAY 형식의 날짜 문자열
|
invite_source
| 문자열 | 아니요 | 회원 생성 프로세스를 시작하는 초대의 출처. GitLab 팀 구성원은 이 비밀 문제에서 자세한 정보를 볼 수 있습니다. |
member_role_id
| 정수 | 아니요 | 멤버 역할의 ID. 최종 사용자 전용. |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data "user_id=1&access_level=30" "https://gitlab.example.com/api/v4/groups/:id/members"
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data "user_id=1&access_level=30" "https://gitlab.example.com/api/v4/projects/:id/members"
응답 예시:
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 30,
"email": "john@example.com",
"group_saml_identity": null
}
그룹 또는 프로젝트 구성원 수정
그룹 또는 프로젝트 구성원을 업데이트합니다.
PUT /groups/:id/members/:user_id
PUT /projects/:id/members/:user_id
속성 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 인증된 사용자가 소유한 프로젝트 또는 그룹의 ID 또는 URL 인코딩된 경로 |
user_id
| integer | 예 | 구성원의 사용자 ID |
access_level
| integer | 예 | 유효한 액세스 수준 |
expires_at
| string | 아니오 |
연도-월-일 형식의 날짜 문자열
|
member_role_id
| integer | 아니오 | 멤버 역할의 ID. Ultimate 전용. |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id?access_level=40"
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members/:user_id?access_level=40"
예시 응답:
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 40,
"email": "john@example.com",
"group_saml_identity": null
}
그룹 구성원의 재정의 플래그 설정
기본적으로 LDAP 그룹 구성원의 액세스 수준은 LDAP을 통해 그룹 동기화로 지정된 값으로 설정됩니다. 이 엔드포인트를 호출하여 액세스 수준 재정의를 허용할 수 있습니다.
POST /groups/:id/members/:user_id/override
속성 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로 |
user_id
| integer | 예 | 구성원의 사용자 ID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id/override"
예시 응답:
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 40,
"email": "john@example.com",
"override": true
}
그룹 구성원의 재정의 제거
재정의 플래그를 false로 설정하고 LDAP 그룹 동기화가 액세스 수준을 LDAP에서 지정한 값으로 재설정할 수 있도록 합니다.
DELETE /groups/:id/members/:user_id/override
속성 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로 |
user_id
| integer | 예 | 구성원의 사용자 ID |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id/override"
예시 응답:
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22",
"access_level": 40,
"email": "john@example.com",
"override": false
}
그룹 또는 프로젝트에서 멤버 제거
사용자를 명시적으로 역할을 할당받은 그룹 또는 프로젝트에서 제거합니다.
사용자는 제거 대상으로 지정하려면 그룹 멤버여야 합니다. 예를 들어 사용자가 그룹 내 프로젝트에 직접 추가되었지만 이 그룹에 명시적으로 추가되지 않은 경우, 이 API를 사용하여 그들을 제거할 수 없습니다. 대안적인 방법은 그룹에서 청구 가능한 멤버 제거를 참조하십시오.
DELETE /groups/:id/members/:user_id
DELETE /projects/:id/members/:user_id
속성 | 종류 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트 또는 그룹의 ID 또는 URL 인코딩된 경로 |
user_id
| 정수 | 예 | 멤버의 사용자 ID |
skip_subresources
| 부울 | 거짓 | 제거된 멤버가 하위 그룹 및 프로젝트의 직접 멤버 자격을 제외시킬지 여부. 기본값은 false 입니다.
|
unassign_issuables
| 부울 | 거짓 | 제거된 멤버가 특정 그룹 또는 프로젝트 내의 이슈 또는 Merge Request에서 할당을 제외해야하는지 여부. 기본값은 false 입니다.
|
예시 요청:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id"
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members/:user_id"
그룹에 멤버를 승인
그룹 및 해당 하위 그룹 및 프로젝트에 대기 중인 사용자를 승인합니다.
PUT /groups/:id/members/:member_id/approve
속성 | 종류 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 루트 그룹의 ID 또는 URL 인코딩된 경로 |
member_id
| 정수 | 예 | 멤버의 ID |
예시 요청:
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:member_id/approve"
그룹에 대기 중인 모든 멤버를 승인
그룹 및 해당 하위 그룹 및 프로젝트에 대기 중인 모든 사용자를 승인합니다.
POST /groups/:id/members/approve_all
속성 | 종류 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 루트 그룹의 ID 또는 URL 인코딩된 경로 |
예시 요청:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/approve_all"
그룹 및 해당 하위 그룹과 프로젝트의 대기 중인 멤버 디렉터리 확인
- 소개됨 in GitLab 14.6.
그룹 및 해당 하위 그룹과 프로젝트에 대해 대기 중
상태의 모든 멤버 및 GitLab 계정이 없지만 초대된 멤버의 디렉터리을 얻습니다.
이 요청은 루트 그룹 계층구조의 모든 그룹 및 프로젝트에서 모든 일치하는 그룹 및 프로젝트 멤버를 반환합니다.
멤버가 아직 GitLab 계정에 가입하지 않은 초대된 사용자인 경우, 초대된 이메일 주소가 반환됩니다.
이 API 엔드포인트는 최상위 그룹에 대해서만 작동합니다. 하위 그룹에서는 작동하지 않습니다.
이 API 엔드포인트에는 그룹의 멤버를 관리할 수 있는 권한이 필요합니다.
이 API 엔드포인트는 페이지네이션 매개변수 page
및 per_page
를 사용하여 멤버 디렉터리을 제한할 수 있습니다.
GET /groups/:id/pending_members
속성 | 종류 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/pending_members"
예시 응답:
[
{
"id": 168,
"name": "Alex Garcia",
"username": "alex_garcia",
"email": "alex@example.com",
"avatar_url": "http://example.com/uploads/user/avatar/1/cd8.jpeg",
"web_url": "http://example.com/alex_garcia",
"approved": false,
"invited": false
},
{
"id": 169,
"email": "sidney@example.com",
"avatar_url": "http://gravatar.com/../e346561cd8.jpeg",
"approved": false,
"invited": true
},
{
"id": 170,
"email": "zhang@example.com",
"avatar_url": "http://gravatar.com/../e32131cd8.jpeg",
"approved": true,
"invited": true
}
]
프로젝트에 그룹 액세스 권한 부여
그룹과 프로젝트 공유를 참조하세요.