管理者権限のあるユーザーは、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 エンドポイントを介して有効化されます。プロジェクト データを削除するには管理者アクセスが必要です (「ユーザー権限とグループの設定」を参照)。  

  1. Data Collector を停止し、新しいデータがプロジェクトに送信されないようにします (「DTP サービスの停止」を参照)。
  2. 以下のエンドポイントに 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
  3. エンドポイントは直ちに進捗情報を返します。以下はレスポンスの例です。

    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

リクエスト ペイロードを含める必要はありません。現在削除されているビルドが完了すると、直ちにジョブが停止します。

  • No labels