Web フック
Web フックは、イベントによってトリガーされる HTTP 呼び出しです。Web フックを使用して、インスタントトリガーモジュールをアクティベートできます。インターネットに接続しており、HTTP リクエストを許可するアプリケーションは、Adobe Workfront Fusion に web フックを送信できます。
アクセス要件
この記事で説明している機能を使用するには、次のアクセス権が必要です。
*保有するプラン、ライセンスタイプ、アクセス権を確認するには、Workfront 管理者に問い合わせてください。
**Adobe Workfront Fusion のライセンスについて詳しくは、Adobe Workfront Fusion のライセンスを参照してください。
Workfront Fusion で web フックを使用
Web フックを使用してアプリを Workfront Fusion に接続するには、次の手順に従います。
-
Web フック/カスタム web フック インスタントトリガーモジュールを、シナリオに追加します。
-
Web フックフィールドの横にある「追加」をクリックして、新規 web フックの名前を入力します。
-
(オプション)「詳細設定」をクリックします。
-
IP 制限 フィールドに、モジュールがデータを受け入れることができる IP アドレスのカンマ区切りのリストを入力します。
-
「保存」をクリックします。
Web フックを作成すると、一意の URL が表示されます。これは、web フックがデータを送信するアドレスです。Workfront Fusion は、このアドレスに送信されたデータを検証し、そのデータをシナリオでの処理に渡します。
Web フックのデータ構造を設定 configure-the-webhook-s-data-structure
受信ペイロードのデータ構造を認識するために、Workfront Fusion は、表示されているアドレスに送信するサンプルデータを解析します。サンプルデータを指定するには、そのサービスまたはアプリを変更して、サービスまたはアプリが web フックを呼び出すようにします。例えば、ファイルを削除できます。
または、次の手順に従って、HTTP/リクエストを実行モジュールを使用してサンプルデータを送信できます。
-
HTTP/リクエストを実行 モジュールを使用して、新しいシナリオを作成します。
-
次の値を使用してモジュールを設定します。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-auto html-authored no-header URL Web フックの URL を入力します。この URL は、web フックの設定に使用した Webhooks モジュールに含まれています。 Method POST Body type Raw Content type JSON(application/json) Request content Web フックには生の JSON が必要です。 -
別のブラウザーのタブまたはウィンドウで、Webhooks モジュールを使用してシナリオを開きます。
-
Webhooks モジュールで、「データ構造を再決定」をクリックします。
Webhooks モジュールから他のモジュールのリンクを解除する必要はありません。
-
HTTP モジュールを使用してシナリオに切り替え、実行します。
-
Webhooks モジュールを使用してシナリオに戻ります。
「正常に決定されました」というメッセージは、モジュールがデータ構造を正常に決定したことを意味します。
-
「OK」をクリックして、データ構造を保存します。
これで、web フックの項目がマッピングパネルに表示され、シナリオの後続モジュールで使用できるようになりました。
Webhook キュー
Web フックがデータを受け取り、そのデータを期待するアクティブなシナリオがない場合、データはキューに格納されます。シナリオをアクティベートすると、キューで待機しているすべてのバンドルが順番に処理されます。
サポートされる受信データ形式
Workfront Fusion は、クエリ文字列、フォームデータ、JSON の 3 つの受信データ形式をサポートします。
Workfront Fusion は、選択したデータ構造に対するすべての受信データを検証します。次に、シナリオの設定に応じて、データは処理用のキューに格納されるか、すぐに処理されます。
データのいずれかの部分が検証に合格しない場合、Workfront Fusion は 400 HTTP ステータスコードを返し、HTTP 応答の本文で、受信データが検証チェックに失敗した理由を指定します。受信データの検証が成功した場合、Workfront Fusion は「200 受理」ステータスを返します。
クエリ文字列
GET https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>?name=<yourname>&job=automate
フォームデータ
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: application/x-www-form-urlencoded
name=<yourname>&job=automate
マルチパートフォームデータ
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: multipart/form-data; boundary=---generatedboundary
---generatedboundary
Content-Disposition: form-data; name="file"; filename="file.txt"
Content-Type: text/plain
Content of file.txt
---generatedboundary
Content-Disposition: form-data; name="name"
Workfront Fusion
---generatedboundary
multipart/form-data
でエンコードされたファイルを受信するには、ネストされたフィールド name
、mime
、data
を含む collection
タイプのフィールドを使用してデータ構造を設定する必要があります。フィールド name
は text
タイプで、アップロードされたファイルの名前が含まれます。mime
は text
タイプで、MIME 形式のファイルが含まれます。フィールド data
は buffer
タイプで、転送中のファイルのバイナリデータが含まれます。
MIME 形式について詳しくは、MIME モジュールを参照してください。
JSON
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: application/json
{"name": "Workfront Fusion", "job": "automate"}
- 「追加」をクリックして、新しい web フックを追加します。
- 「詳細設定を表示」をクリックします。
- 「JSON パススルー」をクリックします。
Web フックヘッダー
Web フックのヘッダーにアクセスするには、web フックの設定時に GET リクエストヘッダーを有効にします。
- 「追加」をクリックして、新しい web フックを追加します。
- 「詳細設定を表示」をクリックします。
- 「リクエストヘッダーを取得」をクリックします。
map()
関数と get()
関数を組み合わせて、特定のヘッダー値を抽出することができます。
Headers[]
配列から authorization
ヘッダーの値を抽出する式を示しています。この式は、抽出された値と指定されたテキストを比較し、一致する場合に web フックのみを渡すフィルターで使用されます。Web フックへの応答
Web フック呼び出しに対するデフォルトの応答は、「受理」というテキストです。応答は、カスタム web フックモジュールの実行中に web フックを呼び出したアプリに返されます。
Web フックへの応答をテスト
-
カスタム web フック モジュールを含めます。
-
モジュールに新しい web フックを追加します。
-
Web フックの URL をクリップボードにコピーします。
-
シナリオを実行します。
カスタム web フックモジュールの稲妻アイコンが回転する点に変わります。これは、モジュールが web フック呼び出しを待機していることを示しています。
-
新しいブラウザーウィンドウを開き、コピーした URL をアドレスバーにペーストして、Enter キーを押します。
カスタム web フックモジュールがトリガーされ、ブラウザーに新しいページが表示されます。
Web フックの応答をカスタマイズする場合は、web フックの応答モジュールを使用します。
モジュールの設定には、ステータスおよび本文の 2 つのフィールドが含まれます。
-
ステータスフィールドには、成功の 2xx(OK の
200
など)、リダイレクトの 3xx(一時リダイレクトの307
など)、4xx のクライアントエラー(例えば、無効なリクエストの400
)などの HTTP 応答ステータスコードが含まれます。 -
本文フィールドには、web フックの呼び出しで受け入れられるすべてが含まれます。シンプルなテキスト、HTML、XML、JSON などが含まれます。
note tip TIP Content-Type
ヘッダーを対応する MIME タイプに設定することをお勧めします。プレーンテキストの場合はtext/plain
、HTMLの場合はtext/html
、JSON の場合はapplication/json
、XML の場合はapplication/xml
などです。MIME タイプについて詳しくは、MIME モジュールを参照してください。
応答の送信のタイムアウトは 40 秒です。その期間内に応答が利用できない場合、Workfront Fusion は「200 受理」ステータスを返します。
HTML 応答の例
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header | |
---|---|
Status | 2xx 成功 HTTP ステータスコード(例:200) |
Body | HTML コード |
Custom headers |
>
|
リダイレクトの例
table 0-row-2 1-row-2 layout-auto html-authored no-header | |
---|---|
Status | 3xx リダイレクト HTTP ステータスコード(例:303) |
Custom headers |
>
|
Webhook の無効化
次のいずれかに該当する場合、Web フックは自動的に非アクティブ化されます。
- Web フックが 6 日以上どのシナリオにも接続されていない
- Web フックが、非アクティブなシナリオ(非アクティブになってから 30 日を超えたシナリオ)でのみ使用される。
非アクティブ化された web フックは、いかなるシナリオにも接続されておらず、非アクティブ状態となって 30 日が経過した場合、自動的に削除され、登録解除されます。
トラブルシューティング
マッピングパネルに項目がありません
Web フック/カスタム web フックモジュールに続くモジュールの設定でマッピングパネルに一部の項目が欠落している場合は、Web フック/カスタム web フック モジュールを選択して設定を開き、「データ構造を再決定」をクリックします。
次に、この記事の web フックのデータ構造の設定の節で説明されている手順に従います。