Web フック
Web フックは、イベントによってトリガーされる HTTP 呼び出しです。Web フックを使用して、インスタントトリガーモジュールをアクティベートできます。インターネットに接続しており、HTTP リクエストを許可するアプリケーションは、Adobe Workfront Fusion に web フックを送信できます。
アクセス要件
| table 0-row-2 1-row-2 2-row-2 3-row-2 layout-auto html-authored no-header | |
|---|---|
| Adobe Workfront パッケージ |
任意のAdobe Workfront ワークフローパッケージと任意のAdobe Workfront Automation and Integration パッケージ WorkfrontUltimate Workfront Fusion を追加購入したWorkfront Primeおよび Select パッケージ。 |
| Adobe Workfront ライセンス |
標準 ワークまたはそれ以上 |
| Adobe Workfront Fusion ライセンス |
オペレーションベース:Workfront Fusion ライセンス要件なし コネクタベース(従来):作業の自動化と統合のためのWorkfront Fusion |
| 製品 | 組織がWorkfront Automation and Integration を含まない Select またはPrime Workfront パッケージを持っている場合は、Adobe Workfront Fusion を購入する必要があります。 |
このテーブルの情報について詳しくは、 ドキュメントのアクセス要件 を参照してください。
Adobe Workfront Fusion ライセンスについて詳しくは、Adobe Workfront Fusion ライセンス を参照してください。
Workfront Fusion での Webhook の使用
Webhook を使用してアプリをWorkfront Fusion に接続するには:
-
Webhook/Custom Webhook インスタントトリガーモジュールをシナリオに追加します。
-
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 モジュールを参照してください。
応答を送信するためのタイムアウトは 5 分です。 その期間内に応答が利用できない場合、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 フックのデータ構造の設定の節で説明されている手順に従います。