Web API を使用してプロジェクトをインポートする

このセクションでは、コマンドラインと Web API を使用してプロジェクトをインポートする方法とインポートをキャンセルする方法について説明します。

Web API へのアクセス権限が必要です。デフォルトでは、Project admin と Projects root admin ロールでアクセスできます。
リリース 2024.1+ では、プロジェクトを繰り返しインポートしたり、ターゲットサーバー上のプロジェクトと同名または類似した名前を持つプロジェクトをインポートすることができます (その際、newProjectName パラメーターを使用してターゲットサーバー上のプロジェクトに新しい名前を指定する必要があります)。
  1. cURL を使用して特定のプロジェクトをインポートするには、次のコマンドを実行します。
  2. curl --data "action=import_project&user=myself&project=my_project&sourceURL=
    http://oldserver:8080&sourceAdmin=user&sourcePassword=pwd" http://localhost.mycompany.com:8080/review/api

    フィールド

    • project は、インポートするプロジェクトの名前です。
    • sourceURL は、インポート元の既存の Klocwork サーバーの URL です。
    • sourceAdmin は、インポート元の Klocwork サーバー管理者 (Projects root admin アクセス権を持っている必要があります) のユーザー ID です。
    • sourcePassword は管理者のパスワードです。

    インポートを開始すると、レスポンスでターゲットプロジェクト ID が返されます。インポートの追跡やキャンセルに備えて、この値を保存してください。

    { "projectId": "<targetId>" }
  3. キューに登録されている、または進行中のインポートをキャンセルするには、次のコマンドを実行します。

  4. curl --data "action=import_project_cancel&user=myself&project=<targetId>" http://localhost.mycompany.com:8080/review/api

    キューに登録されているインポートが開始されていない場合、サーバーがインポートをキューから削除します。インポートが進行中の場合、次の安全なチェックポイントで停止し、インポートされたプロジェクトのデータベース、ファイル、および予約済みのプロジェクト名をロールバックします。インポートされたサーバー構成設定はロールバックされません。インポートがすでに完了している場合、またはプロジェクト ID が不明な場合は、呼び出しがエラーを返します。キャンセルがすでに進行中の場合、キャンセルリクエストを再度送信しても結果は変わりません。

  5. インポートまたはキャンセルのステータスを確認するには、次のコマンドを実行します:

  6. curl --data "action=import_status&user=myself&" http://localhost.mycompany.com:8080/review/api

    キャンセルが進行中の場合、import_status の cancelling が true を返します。キャンセルが完了すると、cancelled が true を返します。cancelled のステータスは、failed とは区別されます。

    { "<targetId>": { "stage": "...", "cancelling": false, "cancelled": true, "failed": false } }
  7. ソースの projects_root にあるすべてのプロジェクトリストを取得するには、次のコマンドを実行します:

  8. curl --data "action=projects&user=myself&" http://localhost.mycompany.com:8080/review/api
    
  9. サーバー構成設定をインポートするには、次のコマンドを実行します:

  10. curl --data "action=import_server_configuration&user=myself&sourceURL=
    http://oldserver:8080&sourceAdmin=user&sourcePassword=pwd" http://localhost.mycompany.com:8080/review/api
通常、これらの操作のスクリプトは、Python などの言語で作成されています。Python を使用した cURL 呼び出しの記述例については、Klocwork Web API クックブックを参照してください。