API を使用したプログラムおよびサービスのデータの同期
作成対象:
- 開発者
API を利用してプログラムやサービスのデータを同期する一般的な方法を次に示します。
ほぼリアルタイムの更新
Adobe Workfront は、「イベントサブスクリプション」(一般的にweb フックとも呼ばれます)を使用して、API を介して、サポートされているオブジェクトやアクションに関するほぼリアルタイムの更新を目的のエンドポイントに送信します。新しいオブジェクトやアクションに関する更新は 5 秒以内に届くと考えられますが、平均的な更新は約 1 秒で届きます。サポートされるオブジェクトの種類、サポートされるアクションの種類、技術的な詳細、イベントサブスクリプションの設定方法の例について詳しくは、Event Subscription API およびイベントサブスクリプションの配信要件を参照してください。
バッチ更新
バッチ更新は、Workfront サーバーに定期的にリクエストを送信して、システムを更新用に設定する方法です。これを行う方法は多数ありますが、一般的なプロセスは、サービスから Workfront API サーバーにリクエストを作成し、最後のリクエスト呼び出し以降に作成または変更されたオブジェクトを検索することで構成されます。潜在的なリクエスト呼び出しと便利なパラメーターについて詳しくは、API の基本の記事の GET 動作の節を参照してください。
バッチ更新用にサービスを設定する際には、次の点に注意してください。
エントリ日
エントリ日は、ISO 8601 形式を使用して保存されます。この標準には、日付、時刻、タイムゾーン情報が含まれます。
例: ISO 8601 日付フォーマット
2020-05-18T17:00:00:000-0600
オブジェクトの作成日と変更日の両方が、それぞれ「entryDate」と「lastUpdateDate」として保存されます。Workfront オブジェクト、関連するフィールド、フィールド名について詳しくは、API エクスプローラーを参照してください。特定の Workfront オブジェクトの entryDate は変更されません。lastUpdatedDate はオブジェクトが変更されるたびに変更されます。
**例:**lastUpdateTime フィールドを利用した、イシューオブジェクトの GET リクエスト。このリクエストを実行すると、指定された日付以降に更新されたすべてのイシューが返されます。
GET
https://<domain>.my.workfront.com/attask/api/v15.0/OPTASK/search?fields=ID,name,lastUpdateDate&$$LIMIT=200&lastUpdateDate=2020-05-13T18:18:37.255Z&lastUpdateDate_Mod=gte
ジャーナルエントリオブジェクト
オブジェクト上の特定のフィールドに関する変更を取得したい場合は、「ジャーナルエントリ」オブジェクトに対してクエリを実行できます。Workfront ジャーナルエントリオブジェクトを設定して、特定のオブジェクトフィールドに関する情報を、それらのフィールドが変更されたときに記録することができます。詳しくは、システム更新を設定を参照してください。
フィールドをジャーナルエントリオブジェクトの一部としてログに記録するように設定すると、そのフィールドが変更されるたびに、対応するジャーナルエントリが作成されます。その後、次のような API 呼び出しを使用して、ジャーナルエントリオブジェクトに対してクエリを実行できます。
GET https://{{domain}}.my.workfront.com/attask/api/v15.0/JRNLE/search?fields=newTextVal,oldTextVal,newDateVal,oldDateVal,newNumberVal,oldNumberVal,entryDate,objObjCode,objID,fieldName&fieldName=name&objObjCode=OPTASK&entryDate=2020-05-13T18:18:37.255Z&entryDate_Mod=gte