Skip to main content

スケジュールされた保存済みインポート実行のチュートリアル

[en] In this tutorial, you will use the Varicent IncentivesVaricent Incentives REST APIs to run a scheduled saved import that will upload data to your model.

前提条件

  1. Varicentサーバーに、インポートするデータを含むファイルが保存されている。保存されたインポートファイルの作成についての詳細は、保存済みインポートの管理を参照してください。

  2. スケジューラーで、保存済みのインポートファイルを実行するタスクを作成され、そのファイル内のデータをモデルにアップロードする。スケジューラーでのタスクの作成の詳細は、スケジューラー・モジュールを参照してください。

  3. ???の説明どおり、Varicent APIキーが取得されている。

概要

このチュートリアルでは、保存したインポートを実行するために、次の2つのREST API呼び出しを使用します。

スケジュール項目を取得

この呼び出しは、保存されたインポートファイルを実行するスケジューラータスクのIDを取得します。

スケジュール項目を実行

この呼び出しは、スケジュール項目を取得の呼び出しによって取得されたIDを使用して、保存されたインポートファイル内のデータをアップロードするスケジューラータスクを実行します。

次に、次のREST API呼び出しを使用して、タスクが正常に完了したかどうかを確認します。

ライブアクティビティを取得

この呼び出しは、タスクがまだ実行されているかどうかの確認に使用されます。

スケジュール済みアイテムを取得

この呼び出しは、前回のタスク実行のステータスを確認するために使用されます。

監査スケジューラーを取得

この呼び出しは、タスクでエラーが発生した場合にスケジューラーのログ情報を表示するために使用されます。

タスクIDの取得

まず、すべてのスケジューラータスクとサブタスクのリストを取得するVaricent IncentivesREST API呼び出しを使用します。

  1. 次のリクエストを行います。

    GET /api/v1/scheduleitem

    例:

    curl -X GET -H "Authorization: Bearer API_KEY" 
    -H "Model: YOUR_CLIENT_MODEL” 
    -H "Content-Type: application/json" 
    https://YOUR_ICM10_API_SERVER_ADDRESS/api/v1/scheduleitem
  2. レスポンスボディで、保存されたインポートを実行するために作成されたスケジューラータスクを見つけ、IDをメモします。

    {
    "id": 12,
    "name": "CompPlanApproval Import",
    "scheduleItemType": "Import",
    "order": 7,
    "lastRun": "2012-09-06T05:01:09.473Z",
    "lastRunStatus": "Success",
    "activation": "Enabled",
    "nextRun": "0001-01-01T00:00:00",
    "parent": 1,
    "settings": {
        "schedulerSettingsId": 0,
        "scheduleItemId": 12,
        "emailOnFailure": false,
        "emailOnSuccess": false,
        "stopOnFailure": false,
        "stopToolOnTimeout": false,
        "isGlobal": false,
        "overrideChildSettings": false,
        "successEmails": [],
        "failEmails": [],
        "externalToolTimeout": 0,
        "enableRetries": false,
        "version": {
            "rowVersion": 1801131
        }

スケジューラータスクの実行

次に、スケジューラー項目を取得の呼び出しから取得したIDを使用して、Varicent Incentivesで保存されたインポートタスクを実行します。

  1. 次のリクエストを行います。

    POST /api/v1/rpc/scheduleitem/{id}/run

    例:

    curl -X POST -H "Authorization: Bearer API_KEY" 
    -H "Model: YOUR_CLIENT_MODEL” 
    -H "Content-Type: application/json" 
    https://YOUR_ICM10_API_SERVER_ADDRESS/api/v1/rpc/scheduleitem/12/run
  2. リクエストのレスポンスの、返されたProgressIdをメモします。この例では、 ProgressIDは「15850」です。

    {
        "completedactivities": "api/v1/completedactivities/15850",
        "liveactivities": "api/v1/liveactivities/15850"     
    }

スケジューラータスクの実行ステータスの確認

最後に、いくつかの呼び出しを実行してスケジューラータスクのステータスを確認し、エラーが発生した場合はスケジューラーのログ情報を取得できます。

  1. 次のリクエストを実行して、タスクが実行中であるかどうかを確認できます。

    GET /api/v1/liveactivities/{ProgressId}

    注記

    スケジューラータスクの実行のステップ2でProgessIdを取得している必要があります。

    例:

    curl -X GET -H "Authorization: Bearer API_KEY" 
    -H "Model: YOUR_CLIENT_MODEL” 
    -H "Content-Type: application/json" 
    https://YOUR_ICM10_API_SERVER_ADDRESS/api/v1/liveactivities/15850

    タスクがまだ実行されている場合、レスポンスはRunningstatusを返します。タスクが完了した場合、レスポンスはタスクが見つからないことを示すメッセージを返します。

  2. タスクが正常に完了したか、エラーが発生したかを確認するには、次のリクエストを実行します。

    GET api/v1/scheduleitem/{ProgressId}

    注記

    タスクIDの取得IDを取得している必要があります。

    例:

    curl -X GET -H "Authorization: Bearer API_KEY" 
    -H "Model: YOUR_CLIENT_MODEL” 
    -H "Content-Type: application/json" 
    https:// YOUR_ICM10_API_SERVER_ADDRESS/api/v1/scheduleitem/12

    タスクが正常に完了した場合、レスポンスはlastRunStatusSuccessを返します。タスクでエラーが発生した場合は、lastRunStatusErrorが返されます。

  3. タスクでエラーが発生した場合は、スケジューラーのログ詳細を表示するように次のリクエストを実行できます。

    GET api/v1/auditschedulers?offset=0&limit=1

    注記

    offsetおよび制限パラメーターにより、スケジューラーの最終ログエントリのみが返されるようにします。

    例:

    curl -X GET -H "Authorization: Bearer API_KEY" 
    -H "Model: YOUR_CLIENT_MODEL” 
    -H "Content-Type: application/json" 
    https:// YOUR_ICM10_API_SERVER_ADDRESS/api/v1/auditschedulers?offset=0&limit=1

    レスポンスは、エラーメッセージの詳細を返します。