プロジェクトリレーションエクスポートAPI。
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このAPIを使用して、プロジェクトの構成を移行します。各トップレベルのプロジェクトリレーション(たとえば、マイルストーン、ボード、ラベル)は、個別のファイルとして保存されます。
このAPIは、主に直接転送によるグループ移行中に使用されます。このAPIは、プロジェクトのインポートおよびエクスポートAPIでは使用できません。
新規エクスポートのスケジュール
新規プロジェクトリレーションエクスポートを開始します:
POST /projects/:id/export_relations| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのID。 |
batched | ブール値 | いいえ | バッチでエクスポートするかどうか。 |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/export_relations"{
"message": "202 Accepted"
}エクスポートステータス
プロジェクトリレーションのエクスポートステータスを表示します:
GET /projects/:id/export_relations/status| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのID。 |
relation | 文字列 | いいえ | 表示するプロジェクトのトップレベルのプロジェクトリレーションの名前。 |
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/export_relations/status"ステータスは、次のいずれかになります:
0:started1: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
}
]エクスポートのダウンロード
完了したプロジェクトリレーションのエクスポートをダウンロードします:
GET /projects/:id/export_relations/download| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのID。 |
relation | 文字列 | はい | ダウンロードするプロジェクトのトップレベルのプロジェクトリレーションの名前。 |
batched | ブール値 | いいえ | エクスポートがバッチ処理されているかどうか。 |
batch_number | 整数 | いいえ | ダウンロードするエクスポートバッチの数。 |
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