グループリレーションエクスポートAPI
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このAPIは、直接転送によるグループ移行中に、宛先インスタンスによってグループ構造を移行するために使用されます。通常、このAPIを自分で使用する必要はありません。
このコンテキストでは、relationはエピックのようなエクスポート可能な項目です。エクスポートされると、リレーションにはラベルなど、リレーションに関連する項目が含まれます。
このAPIを使用するには、GitLabインスタンスが特定の前提条件を満たしている必要があります。
このAPIは、ファイルベースの移行用であるグループインポートおよびエクスポートAPIでは使用できません。
グループの新しいエクスポートをスケジュールする
指定されたグループのリレーションエクスポートをスケジュールします。
POST /groups/:id/export_relations| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | グループのID。 |
batched | ブール値 | いいえ | バッチでエクスポートするかどうか。 |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "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>" \
--url "https://gitlab.example.com/api/v4/groups/1/export_relations/status"ステータスは次のいずれかになります:
0:started1:finished-1:failed
[
{
"relation": "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 /groups/:id/export_relations/download| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | グループのID。 |
relation | 文字列 | はい | ダウンロードするグループトップレベルリレーションの名前。 |
batched | ブール値 | いいえ | エクスポートがバッチ処理されているかどうか。 |
batch_number | 整数 | いいえ | ダウンロードするエクスポートバッチの数。 |
curl --request GET \
--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