그룹 관계 익스포트 API
Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-managed, GitLab Dedicated
- GitLab 13.12에서 소개되었습니다.
그룹 관계 익스포트 API는 주로 직접 이관에 의한 그룹 이주에서 사용되며 귀하의 GitLab 인스턴스는 특정 전제조건을 충족해야 합니다.
이 API는 그룹 가져오기 및 익스포트 API와 함께 사용할 수 없습니다.
새 익스포트 일정
새 그룹 관계 익스포트를 시작합니다:
POST /groups/:id/export_relations
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID. |
batched
| 부울 | 아니요 | 일괄적으로 익스포트할지 여부. |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/export_relations"
{
"message": "202 Accepted"
}
익스포트 상태
관계 익스포트 상태를 확인합니다:
GET /groups/:id/export_relations/status
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID. |
relation
| 문자열 | 아니요 | 표시할 프로젝트 최상위 관계의 이름. |
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/1/export_relations/status"
상태는 다음 중 하나일 수 있습니다:
-
0
:시작됨
-
1
:완료됨
-
-1
:실패함
[
{
"relation": "뱃지",
"status": 1,
"error": null,
"updated_at": "2021-05-04T11:25:20.423Z",
"batched": true,
"batches_count": 1,
"batches": [
{
"status": 1,
"batch_number": 1,
"objects_count": 1,
"error": null,
"updated_at": "2021-05-04T11:25:20.423Z"
}
]
},
{
"relation": "보드",
"status": 1,
"error": null,
"updated_at": "2021-05-04T11:25:20.085Z",
"batched": false,
"batches_count": 0
}
]
익스포트 다운로드
완료된 관계 익스포트를 다운로드합니다:
GET /groups/:id/export_relations/download
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID. |
relation
| 문자열 | 예 | 다운로드할 그룹 최상위 관계의 이름. |
batched
| 부울 | 아니요 | 익스포트가 일괄적인지 여부. |
batch_number
| 정수 | 아니요 | 다운로드할 익스포트 배치의 번호. |
curl --header "PRIVATE-TOKEN: <your_access_token>" --remote-header-name \
--remote-name "https://gitlab.example.com/api/v4/groups/1/export_relations/download?relation=labels"
ls labels.ndjson.gz
labels.ndjson.gz