InfoGrab DocsInfoGrab Docs

프로젝트 관계 내보내기 API

요약

이 API는 직접 전송 방식 그룹 마이그레이션에서 프로젝트 구조를 마이그레이션할 때 대상 인스턴스가 사용합니다. 여기에서 은 머지 리퀘스트처럼 내보낼 수 있는 항목을 의미합니다. 이 API를 사용하려면 GitLab 인스턴스가 특정 사전 요구 사항을 충족해야 합니다.

이 API는 직접 전송 방식 그룹 마이그레이션에서 프로젝트 구조를 마이그레이션할 때 대상 인스턴스가 사용합니다. 일반적으로 이 API를 직접 사용할 필요는 없습니다.

여기에서 은 머지 리퀘스트처럼 내보낼 수 있는 항목을 의미합니다. 내보낼 때 해당 relation에는 레이블처럼 relation과 연관된 항목이 함께 포함됩니다.

이 API를 사용하려면 GitLab 인스턴스가 특정 사전 요구 사항을 충족해야 합니다.

Note

이 API는 파일 기반 마이그레이션을 위한 그룹 가져오기 및 내보내기 API와 함께 사용할 수 없습니다.

새 내보내기 예약#

지정한 프로젝트의 relations 내보내기를 예약합니다.

POST /projects/:id/export_relations
속성 타입 필수 설명
id integer or string 예 프로젝트의 ID 입니다.
batched boolean 아니요 배치 단위로 내보낼지 여부입니다.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/export_relations"
{
  "message": "202 Accepted"
}

내보내기 상태#

relations 내보내기의 상태를 조회합니다.

GET /projects/:id/export_relations/status
속성 타입 필수 설명
id integer or string 예 프로젝트의 ID 입니다.
relation string 아니요 조회할 프로젝트 최상위 relation의 이름입니다.
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/export_relations/status"

상태는 다음 중 하나입니다.

  • 0: started
  • 1: finished
  • -1: failed
[
  {
    "relation": "project_badges",
    "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": "boards",
    "status": 1,
    "error": null,
    "updated_at": "2021-05-04T11:25:20.085Z",
    "batched": false,
    "batches_count": 0
  }
]

내보내기 다운로드#

완료된 relations 내보내기를 다운로드합니다.

GET /projects/:id/export_relations/download
속성 타입 필수 설명
id integer or string 예 프로젝트의 ID 입니다.
relation string 예 다운로드할 프로젝트 최상위 relation의 이름입니다.
batched boolean 아니요 내보내기가 배치 단위인지 여부입니다.
batch_number integer 아니요 다운로드할 내보내기 배치의 번호입니다.
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --remote-header-name \
  --remote-name \
  --url "https://gitlab.example.com/api/v4/projects/1/export_relations/download?relation=labels"
ls labels.ndjson.gz
labels.ndjson.gz

관련 주제#

프로젝트 관계 내보내기 API

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

요약

이 API는 직접 전송 방식 그룹 마이그레이션에서 프로젝트 구조를 마이그레이션할 때 대상 인스턴스가 사용합니다. 여기에서 은 머지 리퀘스트처럼 내보낼 수 있는 항목을 의미합니다. 이 API를 사용하려면 GitLab 인스턴스가 특정 사전 요구 사항을 충족해야 합니다.

이 API는 직접 전송 방식 그룹 마이그레이션에서 프로젝트 구조를 마이그레이션할 때 대상 인스턴스가 사용합니다. 일반적으로 이 API를 직접 사용할 필요는 없습니다.

여기에서 은 머지 리퀘스트처럼 내보낼 수 있는 항목을 의미합니다. 내보낼 때 해당 relation에는 레이블처럼 relation과 연관된 항목이 함께 포함됩니다.

이 API를 사용하려면 GitLab 인스턴스가 특정 사전 요구 사항을 충족해야 합니다.

Note

이 API는 파일 기반 마이그레이션을 위한 그룹 가져오기 및 내보내기 API와 함께 사용할 수 없습니다.

새 내보내기 예약#

지정한 프로젝트의 relations 내보내기를 예약합니다.

POST /projects/:id/export_relations
속성 타입 필수 설명
id integer or string 예 프로젝트의 ID 입니다.
batched boolean 아니요 배치 단위로 내보낼지 여부입니다.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/export_relations"
{
  "message": "202 Accepted"
}

내보내기 상태#

relations 내보내기의 상태를 조회합니다.

GET /projects/:id/export_relations/status
속성 타입 필수 설명
id integer or string 예 프로젝트의 ID 입니다.
relation string 아니요 조회할 프로젝트 최상위 relation의 이름입니다.
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/export_relations/status"

상태는 다음 중 하나입니다.

  • 0: started
  • 1: finished
  • -1: failed
[
  {
    "relation": "project_badges",
    "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": "boards",
    "status": 1,
    "error": null,
    "updated_at": "2021-05-04T11:25:20.085Z",
    "batched": false,
    "batches_count": 0
  }
]

내보내기 다운로드#

완료된 relations 내보내기를 다운로드합니다.

GET /projects/:id/export_relations/download
속성 타입 필수 설명
id integer or string 예 프로젝트의 ID 입니다.
relation string 예 다운로드할 프로젝트 최상위 relation의 이름입니다.
batched boolean 아니요 내보내기가 배치 단위인지 여부입니다.
batch_number integer 아니요 다운로드할 내보내기 배치의 번호입니다.
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --remote-header-name \
  --remote-name \
  --url "https://gitlab.example.com/api/v4/projects/1/export_relations/download?relation=labels"
ls labels.ndjson.gz
labels.ndjson.gz

관련 주제#