管理者権限のあるユーザーは、1 つのプロジェクトに関連付けられたデータを削除することができます。以下のデータが削除されます。
- プロジェクトに関連付けられたすべてのビルド。該当するのは、プロジェクトに関連付けられたラン コンフィギュレーションを使用する実行を少なくとも 1 つ持つビルドです。
- プロジェクトに関連付けられたすべてのラン コンフィギュレーション。
- 削除した実行に存在した違反のすべての優先度データ。後で DTP に送信される実行で違反が発見された場合、その違反の担当者、優先度、アクション、リスク/影響度、締切日、参照番号にはデフォルト値が割り当てられます。
以下は削除されません。
プロジェクトの削除の有効化
デフォルトでは、プロジェクトを削除できる能力は無効化されています。プロジェクトの削除を有効化するには、<DTP_INSTALL>/bin/variables ファイルを開き、JAVA_CONFIG_ARGS (Linux) または DTP_JAVA_OPTS (Windows) に以下のコマンドを追加します。
com.parasoft.sdm.storage.managers.admin.enable.delete.project.data=true
データの削除
この機能は DTP HTTP エンドポイントを介して有効化されます。プロジェクト データを削除するには管理者アクセスが必要です (「ユーザー権限とグループの設定」を参照)。
- Data Collector を停止し、新しいデータがプロジェクトに送信されないようにします (「DTP サービスの停止」を参照)。
以下のエンドポイントに POST リクエストを実行し、プロジェクト データの削除を開始します。
/grs/api/v1.5/admin/projects/deleteData
このエンドポイントは、以下の形式で JSON リクエスト ペイロードを受け取ります。{ "project": "BasicProjectCleanup" }
リクエストにはヘッダー
Content-Type: application/json
が必要です。このヘッダーがない場合、サーバーはリクエストを拒否します。cURL コマンドの例curl -u your_username:your_password -X POST -H 'Content-Type: application/json' -d '{"project":"Your Project"}' http://server_name:8080/grs/api/v1.5/admin/projects/deleteData
エンドポイントは直ちに進捗情報を返します。以下はレスポンスの例です。
Cleanup job id: 33 Description: Deleting data for project: BasicProjectCleanup State: IN_PROGRESS Current status: Deleting data for project 'BasicProjectCleanup': starting. Last status update: 2017-06-27T11:40:08.645 Log: 2017-06-27T11:40:08.645 | Starting: Deleting data for project: BasicProjectCleanup 2017-06-27T11:40:08.645 | Deleting data for project 'BasicProjectCleanup': starting.
レスポンスは人間が読める形式であることを目的としていますが、将来の DTP リリースで形式が変わる可能性があります。プロジェクト データ (または ビルド) を削除するためのリクエストがすでに進行中の場合、レスポンスとしてエラー メッセージが返されます。その場合は、他のデータが削除されていないときに再び削除を試みてください。
プロジェクト データの削除にかかる時間は ?
プロジェクト データを削除するために必要な時間は、ビルドの数、各ビルドの実行の数、および各実行にて送られたデータ サイズによって異なります。ビルド数が 100 のプロジェクトが 1 分未満で削除できることもあれば、同じくビルド数が 100 のプロジェクトでも削除に 1 時間かかることもあります。
リクエスト ステータスのモニタリング
プロジェクト データの削除リクエストのステータスを確認するには、以下のエンドポイントに GET リクエストを送ります。
/grs/api/v1.5/admin/cleanupStatus
レスポンスが State: COMPLETED
を表示すると、ジョブは完了です。
Cleanup job id: 33 Description: Deleting data for project: BasicProjectCleanup State: COMPLETED Current status: Deleting data done (successful) for project: BasicProjectCleanup Last status update: 2017-06-27T11:40:08.889 Log: 2017-06-27T11:40:08.645 | Starting: Deleting data for project: BasicProjectCleanup 2017-06-27T11:40:08.645 | Deleting data for project 'BasicProjectCleanup': starting. 2017-06-27T11:40:08.678 | Deleting data for project 'BasicProjectCleanup'. There are 2 builds to delete. 2017-06-27T11:40:08.678 | Deleting data for project 'BasicProjectCleanup'. Deleting build [1/2]: 'BasicProjectCleanup-2' (build date 2017-03-04T22:00:00Z): starting. 2017-06-27T11:40:08.818 | Deleting data for project 'BasicProjectCleanup'. Deleting build [1/2]: 'BasicProjectCleanup-2' (build date 2017-03-04T22:00:00Z): done. 2017-06-27T11:40:08.818 | Deleting data for project 'BasicProjectCleanup'. Deleting build [2/2]: 'BasicProjectCleanup-1' (build date 2017-03-03T22:00:00Z): starting. 2017-06-27T11:40:08.886 | Deleting data for project 'BasicProjectCleanup'. Deleting build [2/2]: 'BasicProjectCleanup-1' (build date 2017-03-03T22:00:00Z): done. 2017-06-27T11:40:08.889 | Deleting data for project 'BasicProjectCleanup'. Deleted 1 run configuration(s). 2017-06-27T11:40:08.889 | Deleting data done (successful) for project: BasicProjectCleanup
各リクエストに Cleanup job id
が割り当てられます。この ID を使って、プロジェクト データを削除するための呼び出しとステータスを関連付けることができます。データが削除された際、ビルドまたは別のプロジェクト データを削除するための新しいリクエストがあるまで、レスポンスは State: COMPLETED
を表示し続けます。新しいリクエストがあると、そのリクエストに新しい job id
が割り当てられます。
すでに進行中のリクエストのキャンセル
プロジェクト データを削除するためのリクエストをキャンセルするには、以下のエンドポイントに POST リクエストを実行します。
POST /grs/api/v1.5/admin/projects/cancelDataDeletion
リクエスト ペイロードを含める必要はありません。現在削除されているビルドが完了すると、直ちにジョブが停止します。