グループ関係エクスポートAPI
GitLab 13.12 で導入されました。
グループリレーションエクスポートAPIは、グループの構造をトップレベルのリレーション(マイルストーン、ボード、ラベルなど)ごとに別々のファイルとして部分的にエクスポートします。
グループ関係エクスポートAPIは、主に直接転送によるグループマイグレーションで使用され、グループインポートおよびエクスポートAPIと一緒に使用することはできません。
新しいエクスポートのスケジュール
新しいグループ関係のエクスポートを開始します:
POST /groups/:id/export_relations
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するグループのID。 |
batched | boolean | いいえ | バッチでエクスポートするかどうか。 |
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 | 整数/文字列 | yes | 認証ユーザーが所有するグループのID。 |
relation | 文字列です。 | いいえ | 表示するプロジェクトのトップレベル関係の名前。 |
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/1/export_relations/status"
ステータスは以下のいずれかになります:
-
0
:started
-
1
:finished
-
-1
:failed
-
0
-started
-
1
-finished
-
-1
-failed
[
{
"relation": "badges",
"status": 1,
"error": null,
"updated_at": "2021-05-04T11:25:20.423Z",
"batched": true,
"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
}
]
エクスポート・ダウンロード
完成した関係エクスポートをダウンロードします:
GET /groups/:id/export_relations/download
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するグループのID。 |
relation | 文字列です。 | yes | ダウンロードするグループトップレベル関係の名前。 |
batched | boolean | いいえ | エクスポートをバッチ化するかどうか。 |
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