InfoGrab Docs

그룹 가져오기 및 내보내기 API

요약

이 API를 사용하여 그룹 구조를 마이그레이션합니다. 그룹 내보내기에는 다음이 포함됩니다: 가져온 프로젝트에서 그룹 수준 관계를 보존하려면 그룹 내보내기 및 가져오기를 먼저 실행해야 합니다. 이슈 405168로 인해 가져온 그룹은 상위 그룹에 가져오지 않는 한 private 가시성 수준을 갖습니다.

이 API를 사용하여 그룹 구조를 마이그레이션합니다. 이 API를 프로젝트 가져오기 및 내보내기 API와 함께 사용하면 프로젝트 이슈와 그룹 에픽 간의 연결과 같은 그룹 수준 관계를 보존할 수 있습니다.

그룹 내보내기에는 다음이 포함됩니다:

  • 그룹 마일스톤
  • 그룹 보드
  • 그룹 레이블
  • 그룹 배지
  • 그룹 멤버
  • 그룹 이벤트
  • 그룹 위키 (Premium 및 Ultimate만 해당)
  • 서브그룹. 각 서브그룹은 목록의 모든 이전 데이터를 포함합니다.

가져온 프로젝트에서 그룹 수준 관계를 보존하려면 그룹 내보내기 및 가져오기를 먼저 실행해야 합니다. 이렇게 하면 원하는 그룹 구조로 프로젝트 내보내기를 가져올 수 있습니다.

이슈 405168로 인해 가져온 그룹은 상위 그룹에 가져오지 않는 한 private 가시성 수준을 갖습니다. 기본적으로 그룹을 상위 그룹에 가져오면 서브그룹은 상위 그룹과 동일한 가시성 수준을 상속합니다.

가져온 그룹에서 멤버 목록과 각각의 권한을 보존하려면 이 그룹의 사용자를 검토하세요. 원하는 그룹을 가져오기 전에 이러한 사용자가 존재하는지 확인하세요.

그룹 내보내기 생성#

지정된 그룹에 대한 그룹 내보내기를 생성합니다.

POST /groups/:id/export
속성 타입 필수 설명
id Integer or string 그룹의 ID.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/export"
{
  "message": "202 Accepted"
}

그룹 내보내기 다운로드 조회#

지정된 그룹의 내보낸 아카이브를 조회합니다.

GET /groups/:id/export/download
속성 타입 필수 설명
id Integer or string 그룹의 ID.
group=1
token=secret

curl --request GET \
  --header "PRIVATE-TOKEN: ${token}" \
  --output download_group_${group}.tar.gz \
  --url "https://gitlab.example.com/api/v4/groups/${group}/export/download"
ls *export.tar.gz
2020-12-05_22-11-148_namespace_export.tar.gz

그룹 내보내기에 소요되는 시간은 그룹의 크기에 따라 다를 수 있습니다. 이 엔드포인트는 다음 중 하나를 반환합니다:

  • 내보낸 아카이브 (사용 가능한 경우)
  • 404 메시지

그룹 가져오기 생성#

파일을 업로드하여 그룹 가져오기를 생성합니다.

최대 가져오기 파일 크기는 GitLab Self-Managed의 관리자가 설정할 수 있습니다 (기본값은 0 (무제한)). 관리자는 다음 중 하나를 사용하여 최대 가져오기 파일 크기를 수정할 수 있습니다:

GitLab.com의 최대 가져오기 파일 크기에 대한 자세한 내용은 계정 및 제한 설정을 참조하세요.

POST /groups/import
속성 타입 필수 설명
file String 업로드할 파일.
name String 가져올 그룹의 이름.
path String 새 그룹의 이름 및 경로.
parent_id Integer 아니요 그룹을 가져올 상위 그룹의 ID. 제공하지 않으면 현재 사용자의 네임스페이스로 기본 설정됩니다.

파일 시스템에서 파일을 업로드하려면 --form 인수를 사용합니다. 이로 인해 cURL은 Content-Type: multipart/form-data 헤더를 사용하여 데이터를 게시합니다. file= 매개변수는 파일 시스템의 파일을 가리켜야 하며 @로 시작해야 합니다. 예를 들어:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --form "name=imported-group" \
  --form "path=imported-group" \
  --form "file=@/path/to/file" \
  --url "https://gitlab.example.com/api/v4/groups/import"

관련 주제#

그룹 가져오기 및 내보내기 API

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

이 API를 사용하여 그룹 구조를 마이그레이션합니다. 그룹 내보내기에는 다음이 포함됩니다: 가져온 프로젝트에서 그룹 수준 관계를 보존하려면 그룹 내보내기 및 가져오기를 먼저 실행해야 합니다. 이슈 405168로 인해 가져온 그룹은 상위 그룹에 가져오지 않는 한 private 가시성 수준을 갖습니다.

이 API를 사용하여 그룹 구조를 마이그레이션합니다. 이 API를 프로젝트 가져오기 및 내보내기 API와 함께 사용하면 프로젝트 이슈와 그룹 에픽 간의 연결과 같은 그룹 수준 관계를 보존할 수 있습니다.

그룹 내보내기에는 다음이 포함됩니다:

  • 그룹 마일스톤
  • 그룹 보드
  • 그룹 레이블
  • 그룹 배지
  • 그룹 멤버
  • 그룹 이벤트
  • 그룹 위키 (Premium 및 Ultimate만 해당)
  • 서브그룹. 각 서브그룹은 목록의 모든 이전 데이터를 포함합니다.

가져온 프로젝트에서 그룹 수준 관계를 보존하려면 그룹 내보내기 및 가져오기를 먼저 실행해야 합니다. 이렇게 하면 원하는 그룹 구조로 프로젝트 내보내기를 가져올 수 있습니다.

이슈 405168로 인해 가져온 그룹은 상위 그룹에 가져오지 않는 한 private 가시성 수준을 갖습니다. 기본적으로 그룹을 상위 그룹에 가져오면 서브그룹은 상위 그룹과 동일한 가시성 수준을 상속합니다.

가져온 그룹에서 멤버 목록과 각각의 권한을 보존하려면 이 그룹의 사용자를 검토하세요. 원하는 그룹을 가져오기 전에 이러한 사용자가 존재하는지 확인하세요.

그룹 내보내기 생성#

지정된 그룹에 대한 그룹 내보내기를 생성합니다.

POST /groups/:id/export
속성 타입 필수 설명
id Integer or string 그룹의 ID.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/export"
{
  "message": "202 Accepted"
}

그룹 내보내기 다운로드 조회#

지정된 그룹의 내보낸 아카이브를 조회합니다.

GET /groups/:id/export/download
속성 타입 필수 설명
id Integer or string 그룹의 ID.
group=1
token=secret

curl --request GET \
  --header "PRIVATE-TOKEN: ${token}" \
  --output download_group_${group}.tar.gz \
  --url "https://gitlab.example.com/api/v4/groups/${group}/export/download"
ls *export.tar.gz
2020-12-05_22-11-148_namespace_export.tar.gz

그룹 내보내기에 소요되는 시간은 그룹의 크기에 따라 다를 수 있습니다. 이 엔드포인트는 다음 중 하나를 반환합니다:

  • 내보낸 아카이브 (사용 가능한 경우)
  • 404 메시지

그룹 가져오기 생성#

파일을 업로드하여 그룹 가져오기를 생성합니다.

최대 가져오기 파일 크기는 GitLab Self-Managed의 관리자가 설정할 수 있습니다 (기본값은 0 (무제한)). 관리자는 다음 중 하나를 사용하여 최대 가져오기 파일 크기를 수정할 수 있습니다:

GitLab.com의 최대 가져오기 파일 크기에 대한 자세한 내용은 계정 및 제한 설정을 참조하세요.

POST /groups/import
속성 타입 필수 설명
file String 업로드할 파일.
name String 가져올 그룹의 이름.
path String 새 그룹의 이름 및 경로.
parent_id Integer 아니요 그룹을 가져올 상위 그룹의 ID. 제공하지 않으면 현재 사용자의 네임스페이스로 기본 설정됩니다.

파일 시스템에서 파일을 업로드하려면 --form 인수를 사용합니다. 이로 인해 cURL은 Content-Type: multipart/form-data 헤더를 사용하여 데이터를 게시합니다. file= 매개변수는 파일 시스템의 파일을 가리켜야 하며 @로 시작해야 합니다. 예를 들어:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --form "name=imported-group" \
  --form "path=imported-group" \
  --form "file=@/path/to/file" \
  --url "https://gitlab.example.com/api/v4/groups/import"

관련 주제#