ステップバイステップ 利用可能なバックアップの一覧を取得する 使用可能なバックアップのリストを取得するには、データベースバックアップエンドポイントへの GET リクエスト を送信します。
/api/admin/databaseBackup/backups
それに応じて、1 つ以上のデータベースバックアップを含む JSON オブジェクトを取得します。
YouTrack クラウドでは、インスタンスに保存できるバックアップファイルは 1 つだけです。この事実により、新しいバックアップを取得するタスクが少し簡単になります。常に 1 つのバックアップがあるため、バックアップのリストを取得する必要はありません。フレッシュバックアップの作成から始めて、その属性とダウンロードリンクを取得できます。
リクエストには次の構文を使用します。
GET /api/admin/databaseBackup/backups{?fields=<fields>}
fields リクエストパラメーターに注意してください。このパラメーターには、YouTrack がリクエストへのレスポンスとして返すデータベースバックアップエンティティ属性のリストが含まれています。ここでフィールドを指定しない場合は、見つかった各データベースバックアップのエンティティ ID と \$type のみが取得されます。フィールド構文の詳細については、YouTrack REST API を参照してください。
サンプルリクエスト
curl -X GET \
'https://example.youtrack.cloud/api/admin/databaseBackup/backups?fields=creationDate,file,error,link,name,size,id' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YouTrack_token>'
サンプルレスポンスボディ
[
{
"name": "2020-09-05-22-27-16.tar.gz",
"size": 9291043,
"creationDate": 1536175642000,
"link": "backupFile/2020-09-05-22-27-16.tar.gz",
"file": "/mnt/disk0/example/backup/2020-09-05-22-27-16.tar.gz",
"error": null,
"id": "2020-09-05-22-27-16.tar.gz"
}
]
新しいバックアップを作成する 新しいバックアップを作成する場合は、POST リクエストを次のエンドポイントに送信します。
/api/admin/databaseBackup/settings
ペイロードとして、サーバーにバックアップを開始するように指示する JSON オブジェクト backupStatus を送信します。
たとえば、次のサンプルリクエストは新しいバックアップを開始します。
curl -X POST \
'https://example.youtrack.cloud/api/admin/databaseBackup/settings?fields=archiveFormat,availableDiskSpace,backupStatus(backupCancelled,backupError(date,errorMessage),backupInProgress,stopBackup)' \
-H 'Authorization: Bearer <YouTrack_token>' \
-H 'Content-Type: application/json' \
-d '{
"backupStatus": {
"backupInProgress": true,
"stopBackup": false
}
}'
リクエスト内のヘッダーに注意してください。また、fields リクエストパラメーターに属性のリストを指定して、サーバーが返す応答内のバックアップの監視に役立つ属性を指定することもできます。
上記のサンプルリクエストに対して、サーバーは次のデータを返します。
{
"archiveFormat": "TAR_GZ",
"backupStatus": {
"backupInProgress": true,
"stopBackup": false,
"backupError": null,
"backupCancelled": false
},
"availableDiskSpace": 163739054080
}
バックアップへのリンクを取得する 新しいバックアップを作成した後、別の GET リクエストを送信して、バックアップの更新されたリストを読み取ることができます。
ここで最も重要なのは、fields 要求パラメーターで次の属性を指定することです: creationDate,link,id
例: 次の GET リクエストを送信します。
curl -X GET \
'https://example.com/youtrack/api/admin/databaseBackup/backups?fields=creationDate,link,id' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YouTrack_token>'
このような要求に応じて、サーバーは次の JSON オブジェクトのグループを返し、作成タイムスタンプで降順で並べ替えます。
[
{
"creationDate": 1558523648000,
"link": "backupFile/2020-05-22-13-14-07.tar.gz",
"id": "2020-05-22-13-14-07.tar.gz",
"$type": "BackupFile"
},
{
"creationDate": 1558422000000,
"link": "backupFile/2020-05-21-09-00-00.tar.gz",
"id": "2020-05-21-09-00-00.tar.gz",
"$type": "BackupFile"
},
{
"creationDate": 1558335600000,
"link": "backupFile/2020-05-20-09-00-00.tar.gz",
"id": "2020-05-20-09-00-00.tar.gz",
"$type": "BackupFile"
}
]
新しいバックアップをダウンロードするには、最初に返されたバックアップエンティティである "link": "backupFile/2020-05-22-13-14-07.tar.gz" の link を取得する必要があります。
完全なダウンロード URL を作成するには、youtrack サービスの baseURL へのリンクを追加する必要があります。この例では、サービスの baseURL は https://example.com/youtrack/ になります。最新のデータベースバックアップファイルの完全なダウンロード URL は次のようになります。
https://example.com/youtrack/backupFile/2020-05-22-13-14-07.tar.gz