スケジュールされた保存済みインポート実行のチュートリアル
[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.
前提条件
Varicentサーバーに、インポートするデータを含むファイルが保存されている。保存されたインポートファイルの作成についての詳細は、保存済みインポートの管理を参照してください。
スケジューラーで、保存済みのインポートファイルを実行するタスクを作成され、そのファイル内のデータをモデルにアップロードする。スケジューラーでのタスクの作成の詳細は、スケジューラー・モジュールを参照してください。
???の説明どおり、Varicent APIキーが取得されている。
概要
このチュートリアルでは、保存したインポートを実行するために、次の2つのREST API呼び出しを使用します。
- スケジュール項目を取得
この呼び出しは、保存されたインポートファイルを実行するスケジューラータスクのIDを取得します。
- スケジュール項目を実行
この呼び出しは、
スケジュール項目を取得
の呼び出しによって取得されたIDを使用して、保存されたインポートファイル内のデータをアップロードするスケジューラータスクを実行します。
次に、次のREST API呼び出しを使用して、タスクが正常に完了したかどうかを確認します。
- ライブアクティビティを取得
この呼び出しは、タスクがまだ実行されているかどうかの確認に使用されます。
- スケジュール済みアイテムを取得
この呼び出しは、前回のタスク実行のステータスを確認するために使用されます。
- 監査スケジューラーを取得
この呼び出しは、タスクでエラーが発生した場合にスケジューラーのログ情報を表示するために使用されます。
タスクIDの取得
まず、すべてのスケジューラータスクとサブタスクのリストを取得するVaricent IncentivesREST API呼び出しを使用します。
次のリクエストを行います。
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
レスポンスボディで、保存されたインポートを実行するために作成されたスケジューラータスクを見つけ、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で保存されたインポートタスクを実行します。
次のリクエストを行います。
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
リクエストのレスポンスの、返された
ProgressId
をメモします。この例では、ProgressID
は「15850」です。{ "completedactivities": "api/v1/completedactivities/15850", "liveactivities": "api/v1/liveactivities/15850" }
スケジューラータスクの実行ステータスの確認
最後に、いくつかの呼び出しを実行してスケジューラータスクのステータスを確認し、エラーが発生した場合はスケジューラーのログ情報を取得できます。
次のリクエストを実行して、タスクが実行中であるかどうかを確認できます。
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
タスクがまだ実行されている場合、レスポンスは
Running
のstatus
を返します。タスクが完了した場合、レスポンスはタスクが見つからないことを示すメッセージを返します。タスクが正常に完了したか、エラーが発生したかを確認するには、次のリクエストを実行します。
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
タスクが正常に完了した場合、レスポンスは
lastRunStatus
のSuccess
を返します。タスクでエラーが発生した場合は、lastRunStatus
のError
が返されます。タスクでエラーが発生した場合は、スケジューラーのログ詳細を表示するように次のリクエストを実行できます。
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
レスポンスは、エラーメッセージの詳細を返します。