- 그룹 목록
- 그룹의 하위 그룹 목록
- 그룹의 하위 그룹 목록
- 그룹의 프로젝트 목록
- 그룹의 공유 그룹 목록
- 그룹의 초대된 그룹 목록
- 그룹의 공유 프로젝트 목록
- 그룹의 세부정보
- 새 그룹
- 새 하위 그룹
- 프로젝트를 그룹으로 전송
- 사용자가 그룹을 전송할 수 있는 그룹 가져오기
- 그룹을 새 상위 그룹으로 전송 / 하위 그룹을 최상위 그룹으로 전환
- 그룹 업데이트
- 그룹 삭제
- 삭제 예정인 그룹 복원
- 그룹 검색
- 프로비저닝된 사용자 목록
- 그룹 사용자 목록
- 그룹 감사 이벤트
- LDAP와 그룹 동기화
- 그룹 구성원
- 그룹의 네임스페이스
- 그룹과 그룹 공유
- 토큰 해지
그룹 API
Offering: GitLab.com, Self-managed, GitLab Dedicated
REST API를 사용하여 그룹과 상호작용합니다.
응답에 반환되는 필드는 인증된 사용자의 권한에 따라 다릅니다.
그룹 목록
인증된 사용자를 위한 보이는 그룹 목록을 가져옵니다. 인증 없이 접근하면, 공용 그룹만 반환됩니다.
기본적으로, 이 요청은 한번에 20개의 결과를 반환합니다. API 결과는 페이지 매김됩니다.
인증 없이 접근하면, 이 엔드포인트는 keyset pagination도 지원합니다:
-
연속적인 결과 페이지를 요청할 때는 keyset pagination을 사용해야 합니다.
-
특정 오프셋 제한을 초과하면(REST API에 의해 오프셋 기반 페이지 매김에 대해 허용된 최대 오프셋으로 지정됨), 오프셋 페이지 매김은 사용할 수 없습니다.
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
skip_groups |
정수 배열 | 아니요 | 건너뛸 그룹 ID |
all_available |
불리언 | 아니요 | 사용자가 접근할 수 있는 모든 그룹을 표시합니다 (인증된 사용자는 기본값 false , 관리자는 true ); 속성 owned 및 min_access_level 이 우선합니다 |
search |
문자열 | 아니요 | 검색 기준에 맞는 권한이 있는 그룹 목록 반환 |
order_by |
문자열 | 아니요 | 그룹을 name , path , id , 또는 similarity 에 따라 정렬합니다. 기본값은 name 입니다 |
sort |
문자열 | 아니요 | 그룹을 asc 또는 desc 로 정렬합니다. 기본값은 asc 입니다 |
statistics |
불리언 | 아니요 | 그룹 통계를 포함합니다 (관리자 전용). 참고: 최상위 그룹의 경우 응답은 UI에 표시된 전체 root_storage_statistics 데이터를 반환합니다. GitLab 17.4에서 도입됨. |
visibility |
문자열 | 아니요 |
public , internal , 또는 private 가시력을 가진 그룹으로 제한합니다. |
with_custom_attributes |
불리언 | 아니요 | 응답에 사용자 정의 속성을 포함합니다 (관리자 전용) |
owned |
불리언 | 아니요 | 현재 사용자가 명시적으로 소유한 그룹으로 제한합니다 |
min_access_level |
정수 | 아니요 | 현재 사용자가 최소한 다음 역할(access_level )을 가진 그룹으로 제한합니다 |
top_level_only |
불리언 | 아니요 | 하위 그룹을 제외하고 최상위 그룹으로 제한합니다 |
repository_storage |
문자열 | 아니요 | 그룹에서 사용하는 리포지토리 저장소로 필터링합니다 (관리자 전용). GitLab 16.3에서 도입됨. Premium 및 Ultimate 전용. |
marked_for_deletion_on |
날짜 | 아니요 | 그룹이 삭제로 표시된 날짜로 필터링합니다. GitLab 17.1에서 도입됨. Premium 및 Ultimate 전용. |
GET /groups
[
{
"id": 1,
"name": "Foobar Group",
"path": "foo-bar",
"description": "An interesting group",
"visibility": "public",
"share_with_group_lock": false,
"require_two_factor_authentication": false,
"two_factor_grace_period": 48,
"project_creation_level": "developer",
"auto_devops_enabled": null,
"subgroup_creation_level": "owner",
"emails_disabled": null,
"emails_enabled": null,
"mentions_disabled": null,
"lfs_enabled": true,
"default_branch": null,
"default_branch_protection": 2,
"default_branch_protection_defaults": {
"allowed_to_push": [
{
"access_level": 40
}
],
"allow_force_push": false,
"allowed_to_merge": [
{
"access_level": 40
}
]
},
"avatar_url": "http://localhost:3000/uploads/group/avatar/1/foo.jpg",
"web_url": "http://localhost:3000/groups/foo-bar",
"request_access_enabled": false,
"repository_storage": "default",
"full_name": "Foobar Group",
"full_path": "foo-bar",
"file_template_project_id": 1,
"parent_id": null,
"created_at": "2020-01-15T12:36:29.590Z",
"ip_restriction_ranges": null
}
]
statistics=true
매개변수를 추가하고 인증된 사용자가 관리자일 경우, 추가 그룹 통계가 반환됩니다. 최상위 그룹의 경우, root_storage_statistics
도 추가됩니다.
GET /groups?statistics=true
[
{
"id": 1,
"name": "Foobar Group",
"path": "foo-bar",
"description": "An interesting group",
"visibility": "public",
"share_with_group_lock": false,
"require_two_factor_authentication": false,
"two_factor_grace_period": 48,
"project_creation_level": "developer",
"auto_devops_enabled": null,
"subgroup_creation_level": "owner",
"emails_disabled": null,
"emails_enabled": null,
"mentions_disabled": null,
"lfs_enabled": true,
"default_branch": null,
"default_branch_protection": 2,
"default_branch_protection_defaults": {
"allowed_to_push": [
{
"access_level": 40
}
],
"allow_force_push": false,
"allowed_to_merge": [
{
"access_level": 40
}
]
},
"avatar_url": "http://localhost:3000/uploads/group/avatar/1/foo.jpg",
"web_url": "http://localhost:3000/groups/foo-bar",
"request_access_enabled": false,
"repository_storage": "default",
"full_name": "Foobar Group",
"full_path": "foo-bar",
"file_template_project_id": 1,
"parent_id": null,
"created_at": "2020-01-15T12:36:29.590Z",
"statistics": {
"storage_size": 363,
"repository_size": 33,
"wiki_size": 100,
"lfs_objects_size": 123,
"job_artifacts_size": 57,
"pipeline_artifacts_size": 0,
"packages_size": 0,
"snippets_size": 50,
"uploads_size": 0
},
"root_storage_statistics": {
"build_artifacts_size": 0,
"container_registry_size": 0,
"container_registry_size_is_estimated": false,
"dependency_proxy_size": 0,
"lfs_objects_size": 0,
"packages_size": 0,
"pipeline_artifacts_size": 0,
"repository_size": 0,
"snippets_size": 0,
"storage_size": 0,
"uploads_size": 0,
"wiki_size": 0
},
"wiki_access_level": "private",
"duo_features_enabled": true,
"lock_duo_features_enabled": false,
}
]
GitLab Premium 및 Ultimate 사용자도 wiki_access_level
, duo_features_enabled
, 및 lock_duo_features_enabled
속성을 볼 수 있습니다.
이름이나 경로로 그룹을 검색할 수 있습니다. 아래를 참조하세요.
다음과 같이 사용자 정의 속성로 필터링할 수 있습니다:
GET /groups?custom_attributes[key]=value&custom_attributes[other_key]=other_value
그룹의 하위 그룹 목록
이 그룹의 직접 하위 그룹 목록을 가져옵니다.
기본적으로 이 요청은 한 번에 20개의 결과를 반환하는데, 이는 API 결과가 페이지로 나누어져 있기 때문입니다.
이 목록을 다음과 같은 경우에 요청하면:
- 인증되지 않은 사용자: 응답은 공개 그룹만 반환합니다.
- 인증된 사용자: 응답은 현재 사용자가 소속된 그룹만 반환하며 공개 그룹은 포함되지 않습니다.
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 즉각적인 상위 그룹의 ID 또는 URL 인코딩된 경로 |
skip_groups |
정수 배열 | 아니오 | 전달된 그룹 ID를 건너뜁니다. |
all_available |
불리언 | 아니오 | 접근할 수 있는 모든 그룹을 표시합니다 (인증된 사용자에 대해서는 기본값 false , 관리자에 대해서는 true ); 속성 owned 및 min_access_level 이 우선합니다. |
search |
문자열 | 아니오 | 검색 기준에 맞는 권한 있는 그룹 목록을 반환합니다. 하위 그룹의 짧은 경로만 검색됩니다 (전체 경로는 아님). |
order_by |
문자열 | 아니오 | 그룹을 name , path 또는 id 로 정렬합니다. 기본값은 name 입니다. |
sort |
문자열 | 아니오 | 그룹을 asc 또는 desc 순서로 정렬합니다. 기본값은 asc 입니다. |
statistics |
불리언 | 아니오 | 그룹 통계를 포함합니다 (관리자만 사용 가능). |
with_custom_attributes |
불리언 | 아니오 | 응답에 사용자 정의 속성을 포함합니다 (관리자만 사용 가능). |
owned |
불리언 | 아니오 | 현재 사용자가 명시적으로 소유한 그룹으로 제한합니다. |
min_access_level |
정수 | 아니오 | 현재 사용자가 최소한 이 역할(access_level )을 가진 그룹으로 제한합니다. |
GET /groups/:id/subgroups
[
{
"id": 1,
"name": "Foobar Group",
"path": "foo-bar",
"description": "흥미로운 그룹",
"visibility": "public",
"share_with_group_lock": false,
"require_two_factor_authentication": false,
"two_factor_grace_period": 48,
"project_creation_level": "developer",
"auto_devops_enabled": null,
"subgroup_creation_level": "owner",
"emails_disabled": null,
"emails_enabled": null,
"mentions_disabled": null,
"lfs_enabled": true,
"default_branch": null,
"default_branch_protection": 2,
"default_branch_protection_defaults": {
"allowed_to_push": [
{
"access_level": 40
}
],
"allow_force_push": false,
"allowed_to_merge": [
{
"access_level": 40
}
]
},
"avatar_url": "http://gitlab.example.com/uploads/group/avatar/1/foo.jpg",
"web_url": "http://gitlab.example.com/groups/foo-bar",
"request_access_enabled": false,
"repository_storage": "default",
"full_name": "Foobar Group",
"full_path": "foo-bar",
"file_template_project_id": 1,
"parent_id": 123,
"created_at": "2020-01-15T12:36:29.590Z"
}
]
GitLab Premium 또는 Ultimate 사용자는 wiki_access_level
, duo_features_enabled
, lock_duo_features_enabled
속성도 볼 수 있습니다.
그룹의 하위 그룹 목록
해당 그룹의 가시적인 하위 그룹 목록을 가져옵니다.
인증 없이 접근할 경우, 공용 그룹만 반환됩니다.
기본적으로 이 요청은 20개의 결과를 한 번에 반환합니다. API 결과는 페이지네이션이 적용됩니다.
매개변수:
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 즉각적인 상위 그룹의 ID 또는 URL 인코딩된 경로 |
skip_groups |
정수 배열 | 아니요 | 전달된 그룹 ID를 건너뜁니다 |
all_available |
불리언 | 아니요 | 접근할 수 있는 모든 그룹을 표시합니다 (인증된 사용자에 대해서는 기본값 false , 관리자에 대해서는 true ). 속성 owned 와 min_access_level 이 우선합니다 |
search |
문자열 | 아니요 | 검색 기준에 맞는 승인된 그룹 목록을 반환합니다. 하위 그룹의 짧은 경로만 검색됩니다(전체 경로는 아님) |
order_by |
문자열 | 아니요 | 그룹을 name , path , 또는 id 로 정렬합니다. 기본값은 name 입니다 |
sort |
문자열 | 아니요 | 그룹을 asc 또는 desc 순으로 정렬합니다. 기본값은 asc 입니다 |
statistics |
불리언 | 아니요 | 그룹 통계 포함 (관리자만 가능) |
with_custom_attributes |
불리언 | 아니요 | 응답에 커스텀 속성을 포함합니다 (관리자만 가능) |
owned |
불리언 | 아니요 | 현재 사용자가 명시적으로 소유한 그룹으로 제한합니다 |
min_access_level |
정수 | 아니요 | 현재 사용자가 최소한 이 역할 (access_level )을 가진 그룹으로 제한합니다 |
GET /groups/:id/descendant_groups
[
{
"id": 2,
"name": "Bar Group",
"path": "bar",
"description": "Foo Group의 하위 그룹",
"visibility": "public",
"share_with_group_lock": false,
"require_two_factor_authentication": false,
"two_factor_grace_period": 48,
"project_creation_level": "developer",
"auto_devops_enabled": null,
"subgroup_creation_level": "owner",
"emails_disabled": null,
"emails_enabled": null,
"mentions_disabled": null,
"lfs_enabled": true,
"default_branch": null,
"default_branch_protection": 2,
"default_branch_protection_defaults": {
"allowed_to_push": [
{
"access_level": 40
}
],
"allow_force_push": false,
"allowed_to_merge": [
{
"access_level": 40
}
]
},
"avatar_url": "http://gitlab.example.com/uploads/group/avatar/1/bar.jpg",
"web_url": "http://gitlab.example.com/groups/foo/bar",
"request_access_enabled": false,
"full_name": "Bar Group",
"full_path": "foo/bar",
"file_template_project_id": 1,
"parent_id": 123,
"created_at": "2020-01-15T12:36:29.590Z"
},
{
"id": 3,
"name": "Baz Group",
"path": "baz",
"description": "Bar Group의 하위 그룹",
"visibility": "public",
"share_with_group_lock": false,
"require_two_factor_authentication": false,
"two_factor_grace_period": 48,
"project_creation_level": "developer",
"auto_devops_enabled": null,
"subgroup_creation_level": "owner",
"emails_disabled": null,
"emails_enabled": null,
"mentions_disabled": null,
"lfs_enabled": true,
"default_branch": null,
"default_branch_protection": 2,
"default_branch_protection_defaults": {
"allowed_to_push": [
{
"access_level": 40
}
],
"allow_force_push": false,
"allowed_to_merge": [
{
"access_level": 40
}
]
},
"avatar_url": "http://gitlab.example.com/uploads/group/avatar/1/baz.jpg",
"web_url": "http://gitlab.example.com/groups/foo/bar/baz",
"request_access_enabled": false,
"full_name": "Baz Group",
"full_path": "foo/bar/baz",
"file_template_project_id": 1,
"parent_id": 123,
"created_at": "2020-01-15T12:36:29.590Z"
}
]
GitLab Premium 또는 Ultimate 사용자는 wiki_access_level
, duo_features_enabled
, 및 lock_duo_features_enabled
속성도 확인할 수 있습니다.
그룹의 프로젝트 목록
이 그룹의 프로젝트 목록을 가져옵니다. 인증 없이 액세스할 경우 공개 프로젝트만 반환됩니다.
기본적으로 이 요청은 한 번에 20개의 결과를 반환합니다. API 결과는 페이지네이션되어 있습니다.
GET /groups/:id/projects
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer/string | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
archived |
boolean | 아니오 | 보관된 상태로 제한 |
visibility |
string | 아니오 | 가시성에 따라 제한 public , internal , 또는 private
|
order_by |
string | 아니오 |
id , name , path , created_at , updated_at , similarity 1, star_count 또는 last_activity_at 필드에 따라 정렬된 프로젝트 반환. 기본값은 created_at
|
sort |
string | 아니오 |
asc 또는 desc 순서로 정렬된 프로젝트 반환. 기본값은 desc
|
search |
string | 아니오 | 검색 기준에 맞는 승인된 프로젝트 목록 반환 |
simple |
boolean | 아니오 | 각 프로젝트의 제한된 필드만 반환합니다. 인증이 없는 경우 간단한 필드만 반환됩니다. |
owned |
boolean | 아니오 | 현재 사용자가 소유한 프로젝트로 제한 |
starred |
boolean | 아니오 | 현재 사용자가 스타를 추가한 프로젝트로 제한 |
topic |
string | 아니오 | 주제에 맞는 프로젝트 반환 |
with_issues_enabled |
boolean | 아니오 | 문제 기능이 활성화된 프로젝트로 제한. 기본값은 false
|
with_merge_requests_enabled |
boolean | 아니오 | 병합 요청 기능이 활성화된 프로젝트로 제한. 기본값은 false
|
with_shared |
boolean | 아니오 | 이 그룹에 공유된 프로젝트 포함. 기본값은 true
|
include_subgroups |
boolean | 아니오 | 이 그룹의 하위 그룹 내의 프로젝트 포함. 기본값은 false
|
min_access_level |
integer | 아니오 | 현재 사용자가 적어도 이 역할(access_level )을 가진 프로젝트로 제한 |
with_custom_attributes |
boolean | 아니오 | 응답에 사용자 정의 속성 포함 (관리자 전용) |
with_security_reports |
boolean | 아니오 | 모든 빌드에 보안 보고서 아티팩트가 존재하는 프로젝트만 반환. “보안 보고서가 활성화된 프로젝트”를 의미합니다. 기본값은 false . Ultimate 전용. |
각주:
- 결과를 유사도 점수에 따라 정렬합니다. 이 점수는
search
URL 매개변수에서 계산됩니다.order_by=similarity
를 사용하는 경우sort
매개변수는 무시됩니다.search
매개변수가 제공되지 않으면 API는 이름순으로 정렬된 프로젝트를 반환합니다.
예시 응답:
[
{
"id": 9,
"description": "foo",
"default_branch": "main",
"tag_list": [], // 사용 중단, 대신 `topics`를 사용하세요
"topics": [],
"archived": false,
"visibility": "internal",
"ssh_url_to_repo": "git@gitlab.example.com/html5-boilerplate.git",
"http_url_to_repo": "http://gitlab.example.com/h5bp/html5-boilerplate.git",
"web_url": "http://gitlab.example.com/h5bp/html5-boilerplate",
"name": "Html5 Boilerplate",
"name_with_namespace": "Experimental / Html5 Boilerplate",
"path": "html5-boilerplate",
"path_with_namespace": "h5bp/html5-boilerplate",
"issues_enabled": true,
"merge_requests_enabled": true,
"wiki_enabled": true,
"jobs_enabled": true,
"snippets_enabled": true,
"created_at": "2016-04-05T21:40:50.169Z",
"last_activity_at": "2016-04-06T16:52:08.432Z",
"shared_runners_enabled": true,
"creator_id": 1,
"namespace": {
"id": 5,
"name": "Experimental",
"path": "h5bp",
"kind": "group"
},
"avatar_url": null,
"star_count": 1,
"forks_count": 0,
"open_issues_count": 3,
"public_jobs": true,
"shared_with_groups": [],
"request_access_enabled": false
}
]
참고:
그룹 내 프로젝트와 그룹에 공유된 프로젝트를 구분하기 위해 namespace
속성을 사용할 수 있습니다. 프로젝트가 그룹에 공유된 경우, 해당 namespace
는 요청을 하는 그룹과 다릅니다.
그룹의 공유 그룹 목록
주어진 그룹이 초대된 그룹 목록을 가져옵니다. 인증 없이 접근할 경우, 공개 공유 그룹만 반환됩니다.
기본적으로 이 요청은 한 번에 20개의 결과를 반환합니다. API 결과는 페이지네이션됩니다.
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 그룹의 ID 또는 URL-인코딩 경로 |
skip_groups |
정수 배열 | 아니오 | 지정한 그룹 ID를 건너뜁니다 |
search |
문자열 | 아니오 | 검색 기준에 맞는 승인된 그룹 목록을 반환합니다. |
order_by |
문자열 | 아니오 |
name , path , id , 또는 similarity 로 그룹을 정렬합니다. 기본값은 name 입니다. |
sort |
문자열 | 아니오 | 그룹을 asc 또는 desc 순으로 정렬합니다. 기본값은 asc 입니다. |
visibility |
문자열 | 아니오 |
public , internal , 또는 private 가시성을 가지는 그룹으로 제한합니다. |
min_access_level |
정수 | 아니오 | 현재 사용자가 최소한 지정된 역할(access_level )을 가진 그룹으로 제한합니다. |
with_custom_attributes |
불리언 | 아니오 | 응답에 맞춤 속성을 포함합니다 (관리자 전용) |
GET /groups/:id/groups/shared
응답 예시:
[
{
"id": 101,
"web_url": "http://gitlab.example.com/groups/some_path",
"name": "group1",
"path": "some_path",
"description": "",
"visibility": "public",
"share_with_group_lock": "false",
"require_two_factor_authentication": "false",
"two_factor_grace_period": 48,
"project_creation_level": "maintainer",
"auto_devops_enabled": "nil",
"subgroup_creation_level": "maintainer",
"emails_disabled": "false",
"emails_enabled": "true",
"mentions_disabled": "nil",
"lfs_enabled": "true",
"math_rendering_limits_enabled": "true",
"lock_math_rendering_limits_enabled": "false",
"default_branch": "nil",
"default_branch_protection": 2,
"default_branch_protection_defaults": {
"allowed_to_push": [
{
"access_level": 30
}
],
"allow_force_push": "true",
"allowed_to_merge": [
{
"access_level": 30
}
],
"developer_can_initial_push": "false",
"code_owner_approval_required": "false"
},
"avatar_url": "http://gitlab.example.com/uploads/-/system/group/avatar/101/banana_sample.gif",
"request_access_enabled": "true",
"full_name": "group1",
"full_path": "some_path",
"created_at": "2024-06-06T09:39:30.056Z",
"parent_id": "nil",
"organization_id": 1,
"shared_runners_setting": "enabled",
"ldap_cn": "nil",
"ldap_access": "nil",
"wiki_access_level": "enabled"
}
]
그룹의 초대된 그룹 목록
주어진 그룹의 초대된 그룹 목록을 가져옵니다. 인증 없이 접근할 경우, 공개 초대 그룹만 반환됩니다.
이 엔드포인트는 사용자(인증된 사용자)에 대해 분당 60회, IP(비인증 사용자)에 대해 분당 60회로 제한됩니다.
기본적으로 이 요청은 한 번에 20개의 결과를 반환합니다. API 결과는 페이지 매김됩니다.
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
search |
문자열 | 아니오 | 검색 기준에 맞는 권한이 있는 그룹 목록 반환 |
min_access_level |
정수 | 아니오 | 현재 사용자가 최소한 지정된 역할(access_level )을 가진 그룹으로 제한 |
relation |
문자열 배열 | 아니오 | 관계에 따라 그룹 필터링(직접 또는 상속) |
with_custom_attributes |
불리언 | 아니오 | 응답에 맞춤 속성 포함 (관리자만 사용 가능) |
GET /groups/:id/invited_groups
예시 응답:
[
{
"id": 33,
"web_url": "http://gitlab.example.com/groups/flightjs",
"name": "Flightjs",
"path": "flightjs",
"description": "Illo dolorum tempore eligendi minima ducimus provident.",
"visibility": "public",
"share_with_group_lock": false,
"require_two_factor_authentication": false,
"two_factor_grace_period": 48,
"project_creation_level": "developer",
"auto_devops_enabled": null,
"subgroup_creation_level": "maintainer",
"emails_disabled": false,
"emails_enabled": true,
"mentions_disabled": null,
"lfs_enabled": true,
"math_rendering_limits_enabled": true,
"lock_math_rendering_limits_enabled": false,
"default_branch": null,
"default_branch_protection": 2,
"default_branch_protection_defaults": {
"allowed_to_push": [
{
"access_level": 40
}
],
"allow_force_push": false,
"allowed_to_merge": [
{
"access_level": 40
}
],
"developer_can_initial_push": false
},
"avatar_url": null,
"request_access_enabled": true,
"full_name": "Flightjs",
"full_path": "flightjs",
"created_at": "2024-07-09T10:31:08.307Z",
"parent_id": null,
"organization_id": 1,
"shared_runners_setting": "enabled",
"ldap_cn": null,
"ldap_access": null,
"wiki_access_level": "enabled"
}
]
그룹의 공유 프로젝트 목록
이 그룹에 공유된 프로젝트 목록을 가져옵니다. 인증 없이 접근할 경우, 공개 공유 프로젝트만 반환됩니다.
기본적으로 이 요청은 한 번에 20개의 결과를 반환합니다. API 결과는 페이지 매김됩니다.
GET /groups/:id/projects/shared
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
archived |
불리언 | 아니오 | 아카이브 상태로 제한 |
visibility |
문자열 | 아니오 | 가시성 public , internal , private 로 제한 |
order_by |
문자열 | 아니오 |
id , name , path , created_at , updated_at , star_count 또는 last_activity_at 필드로 정렬된 프로젝트 반환. 기본값은 created_at
|
sort |
문자열 | 아니오 |
asc 또는 desc 순서로 정렬된 프로젝트 반환. 기본값은 desc
|
search |
문자열 | 아니오 | 검색 기준에 맞는 권한이 있는 프로젝트 목록 반환 |
simple |
불리언 | 아니오 | 각 프로젝트에 대한 제한된 필드만 반환. 인증 없이 사용 시 단순 필드만 반환됩니다. |
starred |
불리언 | 아니오 | 현재 사용자가 별표를 추가한 프로젝트로 제한 |
with_issues_enabled |
불리언 | 아니오 | 이슈 기능이 활성화된 프로젝트로 제한. 기본값은 false
|
with_merge_requests_enabled |
불리언 | 아니오 | 병합 요청 기능이 활성화된 프로젝트로 제한. 기본값은 false
|
min_access_level |
정수 | 아니오 | 현재 사용자가 최소한 이 역할(access_level )을 가진 프로젝트로 제한 |
with_custom_attributes |
불리언 | 아니오 | 응답에 맞춤 속성 포함 (관리자만 사용 가능) |
예시 응답:
[
{
"id":8,
"description":"Html5 Boilerplate을 위한 공유 프로젝트",
"name":"Html5 Boilerplate",
"name_with_namespace":"H5bp / Html5 Boilerplate",
"path":"html5-boilerplate",
"path_with_namespace":"h5bp/html5-boilerplate",
"created_at":"2020-04-27T06:13:22.642Z",
"default_branch":"main",
"tag_list":[], // deprecated, use `topics` instead
"topics":[],
"ssh_url_to_repo":"ssh://git@gitlab.com/h5bp/html5-boilerplate.git",
"http_url_to_repo":"https://gitlab.com/h5bp/html5-boilerplate.git",
"web_url":"https://gitlab.com/h5bp/html5-boilerplate",
"readme_url":"https://gitlab.com/h5bp/html5-boilerplate/-/blob/main/README.md",
"avatar_url":null,
"star_count":0,
"forks_count":4,
"last_activity_at":"2020-04-27T06:13:22.642Z",
"namespace":{
"id":28,
"name":"H5bp",
"path":"h5bp",
"kind":"group",
"full_path":"h5bp",
"parent_id":null,
"avatar_url":null,
"web_url":"https://gitlab.com/groups/h5bp"
},
"_links":{
"self":"https://gitlab.com/api/v4/projects/8",
"issues":"https://gitlab.com/api/v4/projects/8/issues",
"merge_requests":"https://gitlab.com/api/v4/projects/8/merge_requests",
"repo_branches":"https://gitlab.com/api/v4/projects/8/repository/branches",
"labels":"https://gitlab.com/api/v4/projects/8/labels",
"events":"https://gitlab.com/api/v4/projects/8/events",
"members":"https://gitlab.com/api/v4/projects/8/members"
},
"empty_repo":false,
"archived":false,
"visibility":"public",
"resolve_outdated_diff_discussions":false,
"container_registry_enabled":true,
"container_expiration_policy":{
"cadence":"7d",
"enabled":true,
"keep_n":null,
"older_than":null,
"name_regex":null,
"name_regex_keep":null,
"next_run_at":"2020-05-04T06:13:22.654Z"
},
"issues_enabled":true,
"merge_requests_enabled":true,
"wiki_enabled":true,
"jobs_enabled":true,
"snippets_enabled":true,
"can_create_merge_request_in":true,
"issues_access_level":"enabled",
"repository_access_level":"enabled",
"merge_requests_access_level":"enabled",
"forking_access_level":"enabled",
"wiki_access_level":"enabled",
"builds_access_level":"enabled",
"snippets_access_level":"enabled",
"pages_access_level":"enabled",
"security_and_compliance_access_level":"enabled",
"emails_disabled":null,
"emails_enabled": null,
"shared_runners_enabled":true,
"lfs_enabled":true,
"creator_id":1,
"import_status":"failed",
"open_issues_count":10,
"ci_default_git_depth":50,
"ci_forward_deployment_enabled":true,
"ci_forward_deployment_rollback_allowed": true,
"ci_allow_fork_pipelines_to_run_in_parent_project":true,
"public_jobs":true,
"build_timeout":3600,
"auto_cancel_pending_pipelines":"enabled",
"ci_config_path":null,
"shared_with_groups":[
{
"group_id":24,
"group_name":"Commit451",
"group_full_path":"Commit451",
"group_access_level":30,
"expires_at":null
}
],
"only_allow_merge_if_pipeline_succeeds":false,
"request_access_enabled":true,
"only_allow_merge_if_all_discussions_are_resolved":false,
"remove_source_branch_after_merge":true,
"printing_merge_request_link_enabled":true,
"merge_method":"merge",
"suggestion_commit_message":null,
"auto_devops_enabled":true,
"auto_devops_deploy_strategy":"continuous",
"autoclose_referenced_issues":true,
"repository_storage":"default"
}
]
그룹의 세부정보
모든 그룹의 세부정보를 가져옵니다. 이 엔드포인트는 그룹이 공개적으로 접근 가능할 경우 인증 없이 접근할 수 있습니다. 요청하는 사용자가 관리자일 경우에도 그룹이 공개적으로 접근 가능하다면 가능합니다. 인증을 진행하면 사용자가 관리자 또는 그룹 소유자일 경우 runners_token
및 enabled_git_access_protocol
도 반환합니다.
GET /groups/:id
매개변수:
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id |
integer/string | 예 | 그룹의 ID 또는 URL 인코딩 경로입니다. |
with_custom_attributes |
boolean | 아니오 | 응답에서 사용자 지정 속성을 포함합니다(관리자 전용). |
with_projects |
boolean | 아니오 | 지정된 그룹에 속한 프로젝트의 세부정보를 포함합니다(기본값: true ). (더 이상 사용되지 않음, API v5에서 삭제 예정. 그룹 내 모든 프로젝트의 세부정보를 가져오려면 그룹 프로젝트 목록 엔드포인트를 사용하세요.) |
참고:
응답의 projects
및 shared_projects
속성은 더 이상 사용되지 않으며 API v5에서 삭제 예정입니다.
그룹 내 모든 프로젝트의 세부정보를 가져오려면 그룹 프로젝트 목록 또는 그룹의 공유 프로젝트 목록 엔드포인트를 사용하세요.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/4"
이 엔드포인트는 최대 100개의 프로젝트 및 공유 프로젝트를 반환합니다. 그룹 내 모든 프로젝트의 세부정보를 가져오려면 그룹 프로젝트 목록 엔드포인트를 대신 사용하세요.
예시 응답:
{
"id": 4,
"name": "Twitter",
"path": "twitter",
"description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.",
"visibility": "public",
"avatar_url": null,
"web_url": "https://gitlab.example.com/groups/twitter",
"request_access_enabled": false,
"repository_storage": "default",
"full_name": "Twitter",
"full_path": "twitter",
"runners_token": "ba324ca7b1c77fc20bb9",
"file_template_project_id": 1,
"parent_id": null,
"enabled_git_access_protocol": "all",
"created_at": "2020-01-15T12:36:29.590Z",
"shared_with_groups": [
{
"group_id": 28,
"group_name": "H5bp",
"group_full_path": "h5bp",
"group_access_level": 20,
"expires_at": null
}
],
"prevent_sharing_groups_outside_hierarchy": false,
"projects": [ // 더 이상 사용되지 않으며 API v5에서 삭제될 예정
{
"id": 7,
"description": "Voluptas veniam qui et beatae voluptas doloremque explicabo facilis.",
"default_branch": "main",
"tag_list": [], // 더 이상 사용되지 않음, 대신 `topics` 사용
"topics": [],
"archived": false,
"visibility": "public",
"ssh_url_to_repo": "git@gitlab.example.com:twitter/typeahead-js.git",
"http_url_to_repo": "https://gitlab.example.com/twitter/typeahead-js.git",
"web_url": "https://gitlab.example.com/twitter/typeahead-js",
"name": "Typeahead.Js",
"name_with_namespace": "Twitter / Typeahead.Js",
"path": "typeahead-js",
"path_with_namespace": "twitter/typeahead-js",
"issues_enabled": true,
"merge_requests_enabled": true,
"wiki_enabled": true,
"jobs_enabled": true,
"snippets_enabled": false,
"container_registry_enabled": true,
"created_at": "2016-06-17T07:47:25.578Z",
"last_activity_at": "2016-06-17T07:47:25.881Z",
"shared_runners_enabled": true,
"creator_id": 1,
"namespace": {
"id": 4,
"name": "Twitter",
"path": "twitter",
"kind": "group"
},
"avatar_url": null,
"star_count": 0,
"forks_count": 0,
"open_issues_count": 3,
"public_jobs": true,
"shared_with_groups": [],
"request_access_enabled": false
},
{
"id": 6,
"description": "Aspernatur omnis repudiandae qui voluptatibus eaque.",
"default_branch": "main",
"tag_list": [], // 더 이상 사용되지 않음, 대신 `topics` 사용
"topics": [],
"archived": false,
"visibility": "internal",
"ssh_url_to_repo": "git@gitlab.example.com:twitter/flight.git",
"http_url_to_repo": "https://gitlab.example.com/twitter/flight.git",
"web_url": "https://gitlab.example.com/twitter/flight",
"name": "Flight",
"name_with_namespace": "Twitter / Flight",
"path": "flight",
"path_with_namespace": "twitter/flight",
"issues_enabled": true,
"merge_requests_enabled": true,
"wiki_enabled": true,
"jobs_enabled": true,
"snippets_enabled": false,
"container_registry_enabled": true,
"created_at": "2016-06-17T07:47:24.661Z",
"last_activity_at": "2016-06-17T07:47:24.838Z",
"shared_runners_enabled": true,
"creator_id": 1,
"namespace": {
"id": 4,
"name": "Twitter",
"path": "twitter",
"kind": "group"
},
"avatar_url": null,
"star_count": 0,
"forks_count": 0,
"open_issues_count": 8,
"public_jobs": true,
"shared_with_groups": [],
"request_access_enabled": false
}
],
"shared_projects": [ // 더 이상 사용되지 않으며 API v5에서 삭제될 예정
{
"id": 8,
"description": "Velit eveniet provident fugiat saepe eligendi autem.",
"default_branch": "main",
"tag_list": [], // 더 이상 사용되지 않음, 대신 `topics` 사용
"topics": [],
"archived": false,
"visibility": "private",
"ssh_url_to_repo": "git@gitlab.example.com:h5bp/html5-boilerplate.git",
"http_url_to_repo": "https://gitlab.example.com/h5bp/html5-boilerplate.git",
"web_url": "https://gitlab.example.com/h5bp/html5-boilerplate",
"name": "Html5 Boilerplate",
"name_with_namespace": "H5bp / Html5 Boilerplate",
"path": "html5-boilerplate",
"path_with_namespace": "h5bp/html5-boilerplate",
"issues_enabled": true,
"merge_requests_enabled": true,
"wiki_enabled": true,
"jobs_enabled": true,
"snippets_enabled": false,
"container_registry_enabled": true,
"created_at": "2016-06-17T07:47:27.089Z",
"last_activity_at": "2016-06-17T07:47:27.310Z",
"shared_runners_enabled": true,
"creator_id": 1,
"namespace": {
"id": 5,
"name": "H5bp",
"path": "h5bp",
"kind": "group"
},
"avatar_url": null,
"star_count": 0,
"forks_count": 0,
"open_issues_count": 4,
"public_jobs": true,
"shared_with_groups": [
{
"group_id": 4,
"group_name": "Twitter",
"group_full_path": "twitter",
"group_access_level": 30,
"expires_at": null
},
{
"group_id": 3,
"group_name": "Gitlab Org",
"group_full_path": "gitlab-org",
"group_access_level": 10,
"expires_at": "2018-08-14"
}
]
}
],
"ip_restriction_ranges": null,
"math_rendering_limits_enabled": true,
"lock_math_rendering_limits_enabled": false
}
prevent_sharing_groups_outside_hierarchy
속성은 최상위 그룹에만 존재합니다.
GitLab Premium 또는 Ultimate 사용자는 다음 속성도 볼 수 있습니다:
shared_runners_minutes_limit
extra_shared_runners_minutes_limit
marked_for_deletion_on
membership_lock
wiki_access_level
duo_features_enabled
lock_duo_features_enabled
추가 응답 속성:
{
"id": 4,
"description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.",
"shared_runners_minutes_limit": 133,
"extra_shared_runners_minutes_limit": 133,
"marked_for_deletion_on": "2020-04-03",
"membership_lock": false,
"wiki_access_level": "disabled",
"duo_features_enabled": true,
"lock_duo_features_enabled": false,
...
}
with_projects=false
매개변수를 추가하면 프로젝트가 반환되지 않습니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/4?with_projects=false"
예시 응답:
{
"id": 4,
"name": "Twitter",
"path": "twitter",
"description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.",
"visibility": "public",
"avatar_url": null,
"web_url": "https://gitlab.example.com/groups/twitter",
"request_access_enabled": false,
"repository_storage": "default",
"full_name": "Twitter",
"full_path": "twitter",
"file_template_project_id": 1,
"parent_id": null
}
그룹 아바타 다운로드
그룹 아바타를 가져옵니다. 이 엔드포인트는 그룹이 공개적으로 접근 가능하면 인증 없이 접근할 수 있습니다.
GET /groups/:id/avatar
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 그룹의 ID |
예제:
curl --header "PRIVATE-TOKEN: $GITLAB_LOCAL_TOKEN" \
--remote-header-name \
--remote-name \
"https://gitlab.example.com/api/v4/groups/4/avatar"
새 그룹
참고:
GitLab SaaS에서는 부모 그룹 없이 그룹을 생성하기 위해 GitLab UI를 사용해야 합니다. API를 사용하여 이를 수행할 수 없습니다.
새로운 프로젝트 그룹을 생성합니다. 그룹을 생성할 수 있는 사용자에게만 제공됩니다.
POST /groups
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
name |
문자열 | 예 | 그룹의 이름. |
path |
문자열 | 예 | 그룹의 경로. |
auto_devops_enabled |
불리언 | 아니오 | 이 그룹 내의 모든 프로젝트에 대해 기본적으로 Auto DevOps 파이프라인을 사용합니다. |
avatar |
혼합 | 아니오 | 그룹의 아바타에 대한 이미지 파일. |
default_branch |
문자열 | 아니오 | 그룹의 프로젝트에 대한 기본 브랜치 이름. GitLab 16.11에서 도입됨. |
default_branch_protection |
정수 | 아니오 |
GitLab 17.0에서 폐기됨. 대신 default_branch_protection_defaults 를 사용하세요. |
default_branch_protection_defaults |
해시 | 아니오 | GitLab 17.0에서 도입됨. 사용 가능한 옵션은 기본 브랜치 보호 기본값에 대한 옵션을 참조하세요. |
description |
문자열 | 아니오 | 그룹의 설명. |
enabled_git_access_protocol |
문자열 | 아니오 | Git 액세스를 위한 활성화된 프로토콜. 허용된 값은 ssh , http , 또는 두 프로토콜을 허용하는 all 입니다. GitLab 16.9에서 도입됨. |
emails_disabled |
불리언 | 아니오 |
(GitLab 16.5에서 폐기됨) 이메일 알림을 비활성화합니다. 대신 emails_enabled 를 사용하세요. |
emails_enabled |
불리언 | 아니오 | 이메일 알림을 활성화합니다. |
lfs_enabled |
불리언 | 아니오 | 이 그룹의 프로젝트에 대해 대용량 파일 저장소(LFS)를 활성화/비활성화합니다. |
mentions_disabled |
불리언 | 아니오 | 그룹이 언급되는 기능을 비활성화합니다. |
organization_id |
정수 | 아니오 | 그룹에 대한 조직 ID. |
parent_id |
정수 | 아니오 | 중첩 그룹 생성을 위한 부모 그룹 ID. |
project_creation_level |
문자열 | 아니오 | 개발자가 그룹에서 프로젝트를 생성할 수 있는지 여부를 결정합니다. noone (아무도 안 됨), maintainer (유지 관리 역할을 가진 사용자) 또는 developer (개발자 또는 유지 관리 역할을 가진 사용자)가 될 수 있습니다. |
request_access_enabled |
불리언 | 아니오 | 사용자가 회원 액세스를 요청할 수 있도록 허용합니다. |
require_two_factor_authentication |
불리언 | 아니오 | 이 그룹의 모든 사용자가 이중 인증을 설정하도록 요구합니다. |
share_with_group_lock |
불리언 | 아니오 | 이 그룹 내의 다른 그룹과 프로젝트를 공유하지 못하도록 합니다. |
subgroup_creation_level |
문자열 | 아니오 |
하위 그룹 생성 허용. owner (소유자) 또는 maintainer (유지 관리 역할을 가진 사용자)가 될 수 있습니다. |
two_factor_grace_period |
정수 | 아니오 | 이중 인증이 시행되기 전의 시간(시간 단위). |
visibility |
문자열 | 아니오 | 그룹의 가시성. private , internal , 또는 public 이 될 수 있습니다. |
membership_lock |
불리언 | 아니오 | 사용자가 이 그룹의 프로젝트에 추가될 수 없습니다. 프리미엄 및 궁극적 기능만 적용됩니다. |
extra_shared_runners_minutes_limit |
정수 | 아니오 | 관리자만 설정할 수 있습니다. 이 그룹에 대한 추가 계산 시간. 자가 관리, 프리미엄 및 궁극적 기능만 적용됩니다. |
shared_runners_minutes_limit |
정수 | 아니오 | 관리자만 설정할 수 있습니다. 이 그룹에 대한 최대 월간 계산 시간. nil (기본값; 시스템 기본값 상속), 0 (무제한), 또는 > 0 일 수 있습니다. 자가 관리, 프리미엄 및 궁극적 기능만 적용됩니다. |
wiki_access_level |
문자열 | 아니오 | 위키 접근 수준. disabled , private , 또는 enabled 가 될 수 있습니다. 프리미엄 및 궁극적 기능만 적용됩니다. |
default_branch_protection
옵션
default_branch_protection
속성은 개발자 또는 유지 관리 역할을 가진 사용자가 적용 가능한 기본 브랜치에 푸시할 수 있는지를 결정합니다. 다음 표에 설명되어 있습니다:
값 | 설명 |
---|---|
0 |
보호 없음. 개발자 또는 유지 관리 역할을 가진 사용자들은: - 새로운 커밋을 푸시할 수 있습니다. - 강제 푸시를 할 수 있습니다. - 브랜치를 삭제할 수 있습니다. |
1 |
부분 보호. 개발자 또는 유지 관리 역할을 가진 사용자들은: - 새로운 커밋을 푸시할 수 있습니다. |
2 |
전체 보호. 오직 유지 관리 역할을 가진 사용자들만: - 새로운 커밋을 푸시할 수 있습니다. |
3 |
푸시에 대해 보호됨. 유지 관리 역할을 가진 사용자들은: - 새로운 커밋을 푸시할 수 있습니다. - 강제 푸시를 할 수 있습니다. - 병합 요청을 수락할 수 있습니다. 개발자 역할의 사용자들은: - 병합 요청을 수락할 수 있습니다. |
4 |
초기 푸시 후 전체 보호. 개발자 역할을 가진 사용자는: - 빈 저장소에 커밋을 푸시할 수 있습니다. 유지 관리 역할을 가진 사용자들은: - 새로운 커밋을 푸시할 수 있습니다. - 병합 요청을 수락할 수 있습니다. |
default_branch_protection_defaults
옵션
- GitLab 17.0에서 도입됨.
default_branch_protection_defaults
속성은 기본 브랜치 보호 기본값을 설명합니다. 모든 매개변수는 선택적입니다.
키 | 유형 | 설명 |
---|---|---|
allowed_to_push |
배열 | 푸시를 허용하는 접근 수준의 배열입니다. 개발자(30) 또는 유지 관리(40)를 지원합니다. |
allow_force_push |
불리언 | 모든 푸시 접근 권한을 가진 사용자의 강제 푸시를 허용합니다. |
allowed_to_merge |
배열 | 병합을 허용하는 접근 수준의 배열입니다. 개발자(30) 또는 유지 관리(40)를 지원합니다. |
developer_can_initial_push |
불리언 | 개발자가 초기 푸시를 허용합니다. |
새 하위 그룹
이는 새 그룹 만들기와 유사합니다. 그룹 목록 호출에서 parent_id
가 필요합니다. 그런 다음 원하는 내용을 입력할 수 있습니다:
subgroup_path
subgroup_name
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"path": "<subgroup_path>", "name": "<subgroup_name>", "parent_id": <parent_group_id> }' \
"https://gitlab.example.com/api/v4/groups/"
프로젝트를 그룹으로 전송
그룹 네임스페이스로 프로젝트를 전송합니다. 인스턴스 관리자가 사용할 수 있으며, 관리자의 인스턴스 접근이 필요하지 않은 대체 API 엔드포인트도 이용할 수 있습니다. 프로젝트 전송은 프로젝트의 저장소에 태그된 패키지가 있을 경우 실패할 수 있습니다.
POST /groups/:id/projects/:project_id
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 대상 그룹의 ID 또는 URL 인코딩된 경로 |
project_id |
정수/문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/4/projects/56"
사용자가 그룹을 전송할 수 있는 그룹 가져오기
- GitLab 15.4에서 도입됨
사용자가 그룹을 전송할 수 있는 그룹 목록을 검색합니다.
GET /groups/:id/transfer_locations
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 또는 문자열 | 예 | 전송할 그룹의 ID 또는 URL 인코딩 경로입니다. |
search |
문자열 | 아니오 | 검색할 그룹 이름입니다. |
예제 요청:
curl --request GET "https://gitlab.example.com/api/v4/groups/1/transfer_locations"
예제 응답:
[
{
"id": 27,
"web_url": "https://gitlab.example.com/groups/gitlab",
"name": "GitLab",
"avatar_url": null,
"full_name": "GitLab",
"full_path": "GitLab"
},
{
"id": 31,
"web_url": "https://gitlab.example.com/groups/foobar",
"name": "FooBar",
"avatar_url": null,
"full_name": "FooBar",
"full_path": "FooBar"
}
]
그룹을 새 상위 그룹으로 전송 / 하위 그룹을 최상위 그룹으로 전환
그룹을 새 상위 그룹으로 전송하거나 하위 그룹을 최상위 그룹으로 전환합니다. 관리자인 경우와 사용자에게 제공됩니다:
- 전송할 그룹에 대한 소유자 역할을 가진 경우.
- 그룹을 전송할 경우 새 상위 그룹에 하위 그룹 만들기 권한이 있는 경우.
- 하위 그룹을 최상위 그룹으로 전환할 경우 최상위 그룹을 생성할 권한이 있는 경우.
POST /groups/:id/transfer
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 | 예 | 전송할 그룹의 ID입니다. |
group_id |
정수 | 아니오 | 새 상위 그룹의 ID입니다. 지정하지 않으면 전송할 그룹이 최상위 그룹으로 전환됩니다. |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/4/transfer?group_id=7"
그룹 업데이트
자체 관리형 GitLab에서 기본적으로 unique_project_download_limit
, unique_project_download_limit_interval_in_seconds
, unique_project_download_limit_allowlist
, 및 auto_ban_user_on_excessive_projects_download
은 사용 불가능합니다.
이를 사용 가능하게 하려면 관리자가 기능 플래그를 활성화할 수 있습니다.
프로젝트 그룹을 업데이트합니다. 그룹 소유자 및 관리자에게만 제공됩니다.
PUT /groups/:id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 | 예 | 그룹의 ID입니다. |
name |
문자열 | 아니오 | 그룹의 이름입니다. |
path |
문자열 | 아니오 | 그룹의 경로입니다. |
auto_devops_enabled |
불리언 | 아니오 | 이 그룹 내의 모든 프로젝트에 대해 기본적으로 Auto DevOps 파이프라인을 활성화합니다. |
avatar |
혼합 | 아니오 | 그룹의 아바타로 사용할 이미지 파일입니다. |
default_branch |
문자열 | 아니오 | 그룹의 프로젝트에 대한 기본 브랜치 이름입니다. GitLab 16.11에서 도입됨. |
default_branch_protection |
정수 | 아니오 | GitLab 17.0에서 사용 중단됨. 대신 default_branch_protection_defaults 를 사용하십시오. |
default_branch_protection_defaults |
해시 | 아니오 | GitLab 17.0에서 도입됨. 사용 가능한 옵션에 대한 내용은 default_branch_protection_defaults의 옵션을 참조하십시오. |
description |
문자열 | 아니오 | 그룹의 설명입니다. |
enabled_git_access_protocol |
문자열 | 아니오 | Git 액세스를 위한 활성화된 프로토콜입니다. 허용되는 값은 ssh , http , 및 두 프로토콜을 허용하는 all 입니다. GitLab 16.9에서 도입됨. |
emails_disabled |
불리언 | 아니오 |
(사용 중단됨 GitLab 16.5에서.) 이메일 알림을 비활성화합니다. 대신 emails_enabled 를 사용하십시오. |
emails_enabled |
불리언 | 아니오 | 이메일 알림을 활성화합니다. |
lfs_enabled |
불리언 | 아니오 | 이 그룹의 프로젝트에 대한 대형 파일 저장소(LFS)를 활성화/비활성화합니다. |
mentions_disabled |
불리언 | 아니오 | 그룹이 언급되는 기능을 비활성화합니다. |
prevent_sharing_groups_outside_hierarchy |
불리언 | 아니오 | 그룹 계층 외부에서 그룹 공유 방지 참조하십시오. 이 속성은 최상위 그룹에서만 사용할 수 있습니다. |
project_creation_level |
문자열 | 아니오 | 개발자가 그룹 내에서 프로젝트를 생성할 수 있는지를 결정합니다. noone (아무도), maintainer (유지 관리자 역할을 가진 사용자), 또는 developer (개발자나 유지 관리자 역할을 가진 사용자)일 수 있습니다. |
request_access_enabled |
불리언 | 아니오 | 사용자가 멤버 액세스를 요청할 수 있도록 허용합니다. |
require_two_factor_authentication |
불리언 | 아니오 | 이 그룹의 모든 사용자에게 2단계 인증 설정을 요구합니다. |
shared_runners_setting |
문자열 | 아니오 | shared_runners_setting의 옵션을 참조하십시오. 그룹의 하위 그룹 및 프로젝트에 대한 공유 러너를 활성화 또는 비활성화합니다. |
share_with_group_lock |
불리언 | 아니오 | 이 그룹 내의 다른 그룹과 프로젝트 공유를 방지합니다. |
subgroup_creation_level |
문자열 | 아니오 |
하위 그룹 만들기 허용 여부입니다. owner (소유자) 또는 maintainer (유지 관리자 역할을 가진 사용자)일 수 있습니다. |
two_factor_grace_period |
정수 | 아니오 | 2단계 인증이 시행되기 전까지의 시간(시간 단위)입니다. |
visibility |
문자열 | 아니오 | 그룹의 가시성 수준입니다. private , internal , 또는 public 일 수 있습니다. |
extra_shared_runners_minutes_limit |
정수 | 아니오 | 관리자가 설정할 수 있습니다. 이 그룹에 대한 추가 컴퓨팅 분입니다. 자체 관리형, Premium 및 Ultimate 전용입니다. |
file_template_project_id |
정수 | 아니오 | 사용자 정의 파일 템플릿을 로드할 프로젝트의 ID입니다. Premium 및 Ultimate 전용입니다. |
membership_lock |
불리언 | 아니오 | 사용자들이 이 그룹의 프로젝트에 추가될 수 없습니다. Premium 및 Ultimate 전용입니다. |
prevent_forking_outside_group |
불리언 | 아니오 | 활성화되면 사용자가 이 그룹의 프로젝트를 외부 네임스페이스로 포크할 수 없습니다. Premium 및 Ultimate 전용입니다. |
shared_runners_minutes_limit |
정수 | 아니오 | 관리자가 설정할 수 있습니다. 이 그룹에 대한 최대 월별 컴퓨팅 분 수입니다. nil (기본값; 시스템 기본값 상속), 0 (무제한), 또는 > 0 일 수 있습니다. 자체 관리형, Premium 및 Ultimate 전용입니다. |
unique_project_download_limit |
정수 | 아니오 | 사용자가 금지되기 전에 특정 기간 내에 다운로드할 수 있는 고유한 프로젝트 수의 최대값입니다. 최상위 그룹에서만 사용 가능합니다. 기본값: 0, 최대: 10,000. Ultimate 전용입니다. |
unique_project_download_limit_interval_in_seconds |
정수 | 아니오 | 사용자가 금지되기 전에 다운로드할 수 있는 최대 프로젝트 수에 대한 시간 기간입니다. 최상위 그룹에서만 사용 가능합니다. 기본값: 0, 최대: 864,000초 (10일). Ultimate 전용입니다. |
unique_project_download_limit_allowlist |
문자열의 배열 | 아니오 | 고유 프로젝트 다운로드 제한에서 제외된 사용자 이름 목록입니다. 최상위 그룹에서만 사용 가능합니다. 기본값: [] , 최대: 100 사용자 이름. Ultimate 전용입니다. |
unique_project_download_limit_alertlist |
정수의 배열 | 아니오 | 고유 프로젝트 다운로드 제한이 초과될 때 이메일을 받는 사용자 ID 목록입니다. 최상위 그룹에서만 사용 가능합니다. 기본값: [] , 최대: 100 사용자 ID. GitLab 15.9에서 도입됨. Ultimate 전용입니다. |
auto_ban_user_on_excessive_projects_download |
불리언 | 아니오 | 활성화되면 사용자가 unique_project_download_limit 및 unique_project_download_limit_interval_in_seconds 로 지정한 고유 프로젝트 수를 초과하여 다운로드할 경우 자동으로 그룹에서 차단됩니다. GitLab 15.4에서 도입됨. Ultimate 전용입니다. |
ip_restriction_ranges |
문자열 | 아니오 | 그룹 액세스를 제한하기 위해 IP 주소 또는 서브넷 마스크의 쉼표로 구분된 목록입니다. GitLab 15.4에서 도입됨. Premium 및 Ultimate 전용입니다. |
allowed_email_domains_list |
문자열 | 아니오 | 그룹 액세스를 허용하기 위한 이메일 주소 도메인의 쉼표로 구분된 목록입니다. GitLab 17.4에서 도입됨. GitLab Premium 및 Ultimate 전용입니다. |
wiki_access_level |
문자열 | 아니오 | 위키 액세스 수준입니다. disabled , private , 또는 enabled 로 설정할 수 있습니다. Premium 및 Ultimate 전용입니다. |
math_rendering_limits_enabled |
불리언 | 아니오 | 이 그룹에 대해 수학 렌더링 제한이 사용되는지 여부를 나타냅니다. |
lock_math_rendering_limits_enabled |
불리언 | 아니오 | 모든 하위 그룹에 대해 수학 렌더링 제한이 잠겨 있는지를 나타냅니다. |
duo_features_enabled |
불리언 | 아니오 | 이 그룹에 대해 GitLab Duo 기능이 활성화되어 있는지를 나타냅니다. GitLab 16.10에서 도입됨. 자체 관리형, Premium 및 Ultimate 전용입니다. |
lock_duo_features_enabled |
불리언 | 아니오 | 모든 하위 그룹에 대해 GitLab Duo 기능 활성화 설정이 시행되는지를 나타냅니다. GitLab 16.10에서 도입됨. 자체 관리형, Premium 및 Ultimate 전용입니다. |
참고:
응답의 projects
및 shared_projects
속성은 사용 중단되었으며 API v5에서 제거될 예정입니다.
그룹 내의 모든 프로젝트 세부 정보를 가져오려면 그룹의 프로젝트 목록 보기 또는 그룹의 공유 프로젝트 목록 보기 엔드포인트를 사용하십시오.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/5?name=Experimental"
이 엔드포인트는 최대 100개의 프로젝트 및 공유 프로젝트를 반환합니다. 그룹 내의 모든 프로젝트 세부 정보를 가져오려면 그룹의 프로젝트 목록 보기 엔드포인트를 대신 사용하십시오.
예제 응답:
{
"id": 5,
"name": "Experimental",
"path": "h5bp",
"description": "foo",
"visibility": "internal",
"avatar_url": null,
"web_url": "http://gitlab.example.com/groups/h5bp",
"request_access_enabled": false,
"repository_storage": "default",
"full_name": "Foobar Group",
"full_path": "h5bp",
"file_template_project_id": 1,
"parent_id": null,
"enabled_git_access_protocol": "all",
"created_at": "2020-01-15T12:36:29.590Z",
"prevent_sharing_groups_outside_hierarchy": false,
"projects": [ // 사용 중단되었으며 API v5에서 제거될 예정입니다.
{
"id": 9,
"description": "foo",
"default_branch": "main",
"tag_list": [], //사용 중단됨, 대신 `topics`를 사용하십시오.
"topics": [],
"public": false,
"archived": false,
"visibility": "internal",
"ssh_url_to_repo": "git@gitlab.example.com/html5-boilerplate.git",
"http_url_to_repo": "http://gitlab.example.com/h5bp/html5-boilerplate.git",
"web_url": "http://gitlab.example.com/h5bp/html5-boilerplate",
"name": "Html5 Boilerplate",
"name_with_namespace": "Experimental / Html5 Boilerplate",
"path": "html5-boilerplate",
"path_with_namespace": "h5bp/html5-boilerplate",
"issues_enabled": true,
"merge_requests_enabled": true,
"wiki_enabled": true,
"jobs_enabled": true,
"snippets_enabled": true,
"created_at": "2016-04-05T21:40:50.169Z",
"last_activity_at": "2016-04-06T16:52:08.432Z",
"shared_runners_enabled": true,
"creator_id": 1,
"namespace": {
"id": 5,
"name": "Experimental",
"path": "h5bp",
"kind": "group"
},
"avatar_url": null,
"star_count": 1,
"forks_count": 0,
"open_issues_count": 3,
"public_jobs": true,
"shared_with_groups": [],
"request_access_enabled": false
}
],
"ip_restriction_ranges": null,
"math_rendering_limits_enabled": true,
"lock_math_rendering_limits_enabled": false
}
prevent_sharing_groups_outside_hierarchy
속성은 최상위 그룹에 대해서만 응답에 포함됩니다.
GitLab Premium 또는 Ultimate의 사용자는 wiki_access_level
,
duo_features_enabled
및 lock_duo_features_enabled
속성도 확인할 수 있습니다.
shared_runners_setting
옵션
shared_runners_setting
속성은 그룹의 하위 그룹 및 프로젝트에 대해 공유 러너가 활성화되어 있는지를 결정합니다.
값 | 설명 |
---|---|
enabled |
이 그룹의 모든 프로젝트와 하위 그룹에 대해 공유 러너를 활성화합니다. |
disabled_and_overridable |
이 그룹의 모든 프로젝트와 하위 그룹에 대해 공유 러너를 비활성화하지만, 하위 그룹이 이 설정을 재정의할 수 있도록 허용합니다. |
disabled_and_unoverridable |
이 그룹의 모든 프로젝트와 하위 그룹에 대해 공유 러너를 비활성화하고, 하위 그룹이 이 설정을 재정의하지 못하도록 방지합니다. |
disabled_with_override |
(사용 중단됨. disabled_and_overridable 사용) 이 그룹의 모든 프로젝트와 하위 그룹에 대해 공유 러너를 비활성화하지만, 하위 그룹이 이 설정을 재정의할 수 있도록 허용합니다. |
그룹 아바타 업로드
파일 시스템에서 아바타 파일을 업로드하려면 --form
인수를 사용하세요. 이렇게 하면
curl이 Content-Type:multipart/form-data
헤더를 사용하여 데이터를 게시하게 됩니다.
file=
매개변수는 파일 시스템의 파일을 가리켜야 하며 @
로 앞서야 합니다. 예를 들어:
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/22" \
--form "avatar=@/tmp/example.png"
그룹 아바타 제거
- GitLab 15.4에서 도입됨.
그룹 아바타를 제거하려면 avatar
속성에 빈 값을 사용하세요.
예제 요청:
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/22" \
--data "avatar="
그룹 삭제
- 하위 그룹을 즉시 삭제하는 기능은 GitLab 15.3에서 도입되었으며,
immediate_delete_subgroup_api
라는 플래그가 필요합니다. 기본적으로 비활성화되어 있습니다.- 하위 그룹을 즉시 삭제하는 기능은 GitLab 15.4에서 GitLab.com 및 자체 관리에서 활성화되었습니다.
- 하위 그룹을 즉시 삭제하는 기능은 GitLab 15.4에서 기본적으로 활성화되었습니다.
- 하위 그룹을 즉시 삭제하기 위한 플래그
immediate_delete_subgroup_api
는 GitLab 15.9에서 제거되었습니다.
그룹 소유자 및 관리자를 대상으로만 제공됩니다.
이 엔드포인트는:
- Premium 및 Ultimate 티어에서는 그룹을 삭제할 수 있도록 표시합니다. 삭제는 기본적으로 7일 후에 발생하지만, 인스턴스 설정에서 보존 기간을 변경할 수 있습니다.
- Free 티어에서는 그룹을 즉시 삭제하고 해당 그룹의 모든 프로젝트를 삭제하기 위한 백그라운드 작업을 큐에 넣습니다.
- 하위 그룹이 삭제 표시된 경우 즉시 하위 그룹을 삭제합니다(GitLab 15.4 이상). 이 엔드포인트는 최상위 그룹을 즉시 삭제하지 않습니다.
DELETE /groups/:id
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
permanently_remove |
불리언/문자열 | 아니오 | 즉시 삭제 표시된 하위 그룹을 즉시 삭제합니다. GitLab 15.4에서 도입되었으며, Premium 및 Ultimate에만 해당됩니다. |
full_path |
문자열 | 아니오 |
permanently_remove 에 사용할 하위 그룹의 전체 경로입니다. GitLab 15.4에서 도입되었으며, 하위 그룹 경로를 찾으려면 그룹 세부정보를 참조하세요. Premium 및 Ultimate에만 해당됩니다. |
응답은 사용자가 권한이 있을 경우 202 Accepted
입니다.
참고:
GitLab.com 그룹은 구독에 링크되어 있는 경우 삭제할 수 없습니다. 그러한 그룹을 삭제하려면 먼저 구독을 링크하여 다른 그룹과 연결해야 합니다.
삭제 예정인 그룹 복원
삭제 예정인 그룹을 복원합니다.
POST /groups/:id/restore
Parameters:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer/string | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
그룹 검색
이름이나 경로에 해당 문자열이 포함된 모든 그룹을 가져옵니다.
GET /groups?search=foobar
[
{
"id": 1,
"name": "Foobar Group",
"path": "foo-bar",
"description": "흥미로운 그룹"
}
]
프로비저닝된 사용자 목록
지정된 그룹에 의해 프로비저닝된 사용자 목록을 가져옵니다. 하위 그룹은 포함되지 않습니다.
그룹에서 Maintainer 역할 이상이 필요합니다.
GET /groups/:id/provisioned_users
Parameters:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer/string | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
username |
string | 아니오 | 특정 사용자 이름으로 단일 사용자 반환 |
search |
string | 아니오 | 이름, 이메일, 사용자 이름으로 사용자 검색 |
active |
boolean | 아니오 | 활성 사용자만 반환 |
blocked |
boolean | 아니오 | 차단된 사용자만 반환 |
created_after |
datetime | 아니오 | 지정된 시간 이후에 생성된 사용자 반환 |
created_before |
datetime | 아니오 | 지정된 시간 이전에 생성된 사용자 반환 |
예시 응답:
[
{
"id": 66,
"username": "user22",
"name": "John Doe22",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/xxx?s=80&d=identicon",
"web_url": "http://my.gitlab.com/user22",
"created_at": "2021-09-10T12:48:22.381Z",
"bio": "",
"location": null,
"public_email": "",
"skype": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": null,
"job_title": "",
"pronouns": null,
"bot": false,
"work_information": null,
"followers": 0,
"following": 0,
"local_time": null,
"last_sign_in_at": null,
"confirmed_at": "2021-09-10T12:48:22.330Z",
"last_activity_on": null,
"email": "user22@example.org",
"theme_id": 1,
"color_scheme_id": 1,
"projects_limit": 100000,
"current_sign_in_at": null,
"identities": [ ],
"can_create_group": true,
"can_create_project": true,
"two_factor_enabled": false,
"external": false,
"private_profile": false,
"commit_email": "user22@example.org",
"shared_runners_minutes_limit": null,
"extra_shared_runners_minutes_limit": null
},
...
]
그룹 사용자 목록
Status: Experiment
- GitLab 16.6에서 도입됨. 이 기능은 실험입니다.
그룹에 대한 사용자 목록을 가져옵니다. 이 엔드포인트는 현재 멤버십에 관계없이 최상위 그룹과 관련된 사용자들을 반환합니다. 예를 들어, 그룹에 연결된 SAML 식별자가 있는 사용자나 그룹 또는 하위 그룹에서 생성된 서비스 계정 등이 포함됩니다.
이 엔드포인트는 실험이며, 예고 없이 변경되거나 삭제될 수 있습니다.
그룹에 대한 소유자 역할이 필요합니다.
GET /groups/:id/users
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/345/users?include_saml_users=true&include_service_accounts=true"
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer/string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
include_saml_users |
boolean | 예 (설명 참조) | SAML 식별자가 있는 사용자 포함. 이 값 또는 include_service_accounts 중 하나는 true 여야 합니다. |
include_service_accounts |
boolean | 예 (설명 참조) | 서비스 계정 사용자 포함. 이 값 또는 include_saml_users 중 하나는 true 여야 합니다. |
search |
string | 아니오 | 이름, 이메일, 사용자 이름으로 사용자 검색. |
성공할 경우 200 OK
및 다음 응답 속성을 반환합니다:
예제 응답:
[
{
"id": 66,
"username": "user22",
"name": "John Doe22",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/xxx?s=80&d=identicon",
"web_url": "http://my.gitlab.com/user22",
"created_at": "2021-09-10T12:48:22.381Z",
"bio": "",
"location": null,
"public_email": "",
"skype": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": null,
"job_title": "",
"pronouns": null,
"bot": false,
"work_information": null,
"followers": 0,
"following": 0,
"local_time": null,
"last_sign_in_at": null,
"confirmed_at": "2021-09-10T12:48:22.330Z",
"last_activity_on": null,
"email": "user22@example.org",
"theme_id": 1,
"color_scheme_id": 1,
"projects_limit": 100000,
"current_sign_in_at": null,
"identities": [ ],
"can_create_group": true,
"can_create_project": true,
"two_factor_enabled": false,
"external": false,
"private_profile": false,
"commit_email": "user22@example.org",
"shared_runners_minutes_limit": null,
"extra_shared_runners_minutes_limit": null
},
...
]
그룹 감사 이벤트
그룹 감사 이벤트는 그룹 감사 이벤트 API를 통해 접근할 수 있습니다.
LDAP와 그룹 동기화
그룹을 연결된 LDAP 그룹과 동기화합니다. 그룹 소유자 및 관리자만 사용할 수 있습니다.
POST /groups/:id/ldap_sync
매개변수:
-
id
(필수) - 사용자 그룹의 ID 또는 경로
그룹 구성원
그룹 구성원 문서를 참조하세요.
그룹의 네임스페이스
기본적으로 그룹은 API 결과가 페이지로 나뉘어 있기 때문에 한 번에 20개의 네임스페이스만 가집니다.
더 많은 네임스페이스(최대 100개)를 얻으려면 다음을 API 호출의 인수로 전달하십시오:
/groups?per_page=100
페이지를 전환하려면 다음을 추가하세요:
/groups?per_page=100&page=2
그룹과 그룹 공유
이 엔드포인트는 다른 그룹과 공유하기 위해 그룹에 대한 링크를 생성하고 삭제합니다. 추가 정보는 GitLab 그룹 페이지에서 관련 논의를 참조하세요.
다른 그룹과 그룹을 공유하기 위한 링크 생성
다른 그룹과 그룹을 공유합니다. 성공 시 200
과 그룹 세부정보를 반환합니다.
POST /groups/:id/share
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 그룹의 ID 또는 URL 인코딩 경로 |
group_id |
정수 | 예 | 공유할 그룹의 ID |
group_access |
정수 | 예 | 그룹에 부여할 역할(access_level )
|
expires_at |
문자열 | 아니요 | ISO 8601 형식의 공유 만료 날짜: 2016-09-26 |
다른 그룹과 그룹 공유 링크 삭제
다른 그룹에서 그룹의 공유를 해제합니다. 성공 시 204
와 내용이 없습니다.
DELETE /groups/:id/share/:group_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 그룹의 ID 또는 URL 인코딩 경로 |
group_id |
정수 | 예 | 공유할 그룹의 ID |
토큰 해지
이 기능의 가용성은 기능 플래그에 의해 제어됩니다. 더 많은 정보는 기록을 참조하세요.
토큰을 해지하며, 그룹 또는 해당 하위 그룹 및 프로젝트에 접근할 수 있는 경우 진행됩니다.
토큰이 해지되었거나 이미 해지된 경우 그 세부 정보가 응답으로 반환됩니다.
다음 기준을 충족해야 합니다:
- 그룹은 최상위 그룹이어야 합니다.
- 그룹에 대해 소유자 역할을 가져야 합니다.
- 토큰 유형은 다음 중 하나여야 합니다:
- 개인 접근 토큰
- 그룹 접근 토큰
- 프로젝트 접근 토큰
- 그룹 배포 토큰
- 사용자 피드 토큰
추가 토큰 유형은 나중에 지원될 수 있습니다.
POST /groups/:id/tokens/revoke
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 또는 문자열 | 예 | 그룹의 ID 또는 URL 인코딩 경로. |
token |
문자열 | 예 | 일반 텍스트 토큰. |
성공하면 200 OK
를 반환하며 토큰의 JSON 표현이 반환됩니다. 반환되는 속성은 토큰 유형에 따라 다릅니다.
예시 요청
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"token":"glpat-EXAMPLE"}' \
--url "https://gitlab.example.com/api/v4/groups/63/tokens/revoke"
예시 응답:
{
"id": 9,
"name": "my-subgroup-deploytoken",
"username": "gitlab+deploy-token-9",
"expires_at": null,
"scopes":
[
"read_repository",
"read_package_registry",
"write_package_registry"
],
"revoked": true,
"expired": false
}