Web フック

Web フックは、イベントによってトリガーされる HTTP 呼び出しです。Web フックを使用して、インスタントトリガーモジュールをアクティベートできます。インターネットに接続しており、HTTP リクエストを許可するアプリケーションは、Adobe Workfront Fusion に web フックを送信できます。

アクセス要件

この記事で説明している機能を使用するには、次のアクセス権が必要です。

Adobe Workfront プラン*
Pro 以降
Adobe Workfront ライセンス*
Plan、Work
Adobe Workfront Fusion ライセンス**

現在のライセンス要件:Workfront Fusion ライセンス要件なし。

または

従来のライセンス要件:Workfront Fusion for Work Automation and Integration

製品

現在の製品要件:Select または Prime Adobe Workfront プランをご利用の場合、この記事で説明されている機能を使用するには、組織は Adobe Workfront に加えて Adobe Workfront Fusion も購入する必要があります。Workfront Fusion は、Workfront Ultimate プランに含まれています。

または

従来の製品要件:この記事で説明している機能を使用するには、Adobe Workfront Fusion と Adobe Workfront を組織で購入する必要があります。

*保有するプラン、ライセンスタイプ、アクセス権を確認するには、Workfront 管理者に問い合わせてください。

**Adobe Workfront Fusion のライセンスについて詳しくは、Adobe Workfront Fusion のライセンスを参照してください。

Workfront Fusion で web フックを使用

NOTE
サードパーティの web フック(送信 web フック)を呼び出すには、いずれかの HTTP モジュールを使用します。詳しくは、HTTP モジュールを参照してください。

Web フックを使用してアプリを Workfront Fusion に接続するには、次の手順に従います。

  1. Web フックカスタム web フック ​インスタントトリガーモジュールを、シナリオに追加します。

  2. Web フックフィールドの横にある「追加」をクリックして、新規 web フックの名前を入力します。

  3. (オプション)「詳細設定」をクリックします。

  4. IP 制限 ​フィールドに、モジュールがデータを受け入れることができる IP アドレスのカンマ区切りのリストを入力します。

  5. 保存」をクリックします。

Web フックを作成すると、一意の URL が表示されます。これは、web フックがデータを送信するアドレスです。Workfront Fusion は、このアドレスに送信されたデータを検証し、そのデータをシナリオでの処理に渡します。

NOTE
Web フックを作成したら、一度に複数のシナリオで使用できます。

Web フックのデータ構造を設定 configure-the-webhook-s-data-structure

受信ペイロードのデータ構造を認識するために、Workfront Fusion は、表示されているアドレスに送信するサンプルデータを解析します。サンプルデータを指定するには、そのサービスまたはアプリを変更して、サービスまたはアプリが web フックを呼び出すようにします。例えば、ファイルを削除できます。

または、次の手順に従って、HTTP/リクエストを実行モジュールを使用してサンプルデータを送信できます。

  1. HTTPリクエストを実行 ​モジュールを使用して、新しいシナリオを作成します。

  2. 次の値を使用してモジュールを設定します。

    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 が必要です。

  3. 別のブラウザーのタブまたはウィンドウで、Webhooks モジュールを使用してシナリオを開きます。

  4. Webhooks モジュールで、「データ構造を再決定」をクリックします。

    Webhooks モジュールから他のモジュールのリンクを解除する必要はありません。

  5. HTTP モジュールを使用してシナリオに切り替え、実行します。

  6. Webhooks モジュールを使用してシナリオに戻ります。

    「正常に決定されました」というメッセージは、モジュールがデータ構造を正常に決定したことを意味します。

  7. OK」をクリックして、データ構造を保存します。

    これで、web フックの項目がマッピングパネルに表示され、シナリオの後続モジュールで使用できるようになりました。

Webhook キュー

Web フックがデータを受け取り、そのデータを期待するアクティブなシナリオがない場合、データはキューに格納されます。シナリオをアクティベートすると、キューで待機しているすべてのバンドルが順番に処理されます。

IMPORTANT
Web フックのキューは、同じ 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 でエンコードされたファイルを受信するには、ネストされたフィールド namemimedata を含む collection タイプのフィールドを使用してデータ構造を設定する必要があります。フィールド nametext タイプで、アップロードされたファイルの名前が含まれます。mimetext タイプで、MIME 形式のファイルが含まれます。フィールド databuffer タイプで、転送中のファイルのバイナリデータが含まれます。

MIME 形式について詳しくは、MIME モジュールを参照してください。

JSON

POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>

Content-Type: application/json

{"name": "Workfront Fusion", "job": "automate"}
TIP
元の JSON にアクセスする場合は、web フックの設定時に JSON パススルーを有効にします。
  1. 追加」をクリックして、新しい web フックを追加します。
  2. 詳細設定を表示」をクリックします。
  3. JSON パススルー」をクリックします。

Web フックヘッダー

Web フックのヘッダーにアクセスするには、web フックの設定時に GET リクエストヘッダーを有効にします。

  1. 追加」をクリックして、新しい web フックを追加します。
  2. 詳細設定を表示」をクリックします。
  3. リクエストヘッダーを取得」をクリックします。

map() 関数と get() 関数を組み合わせて、特定のヘッダー値を抽出することができます。

INFO
例:
以下の例は、Headers[] 配列から authorization ヘッダーの値を抽出する式を示しています。この式は、抽出された値と指定されたテキストを比較し、一致する場合に web フックのみを渡すフィルターで使用されます。
特定のキーを使用して配列の要素を取得する方法について詳しくは、Adobe Workfront Fusion でのモジュール間の情報のマッピングの記事にある、指定されたキーを使用した配列の要素のマッピングを参照してください。

Web フックへの応答

Web フック呼び出しに対するデフォルトの応答は、「受理」というテキストです。応答は、カスタム web フックモジュールの実行中に web フックを呼び出したアプリに返されます。

Web フックへの応答をテスト

  1. カスタム web フック ​モジュールを含めます。

  2. モジュールに新しい web フックを追加します。

  3. Web フックの URL をクリップボードにコピーします。

  4. シナリオを実行します。

    カスタム web フックモジュールの稲妻アイコンが回転する点に変わります。これは、モジュールが web フック呼び出しを待機していることを示しています。

  5. 新しいブラウザーウィンドウを開き、コピーした 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 応答の例

INFO
例:
Web フック応答モジュールを次のように設定します。
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header
Status 2xx 成功 HTTP ステータスコード(例:200)
Body HTML コード
Custom headers

>

  • > キー:Content-type
  • > :text/html >
これにより、web ブラウザーに表示される HTML 応答が生成されます。

リダイレクトの例

INFO
例: ​web フック応答モジュールを次のように設定します。
table 0-row-2 1-row-2 layout-auto html-authored no-header
Status 3xx リダイレクト HTTP ステータスコード(例:303)
Custom headers

>

  • > Key:場所
  • > Value:リダイレクト先の URL。 >

Webhook の無効化

次のいずれかに該当する場合、Web フックは自動的に非アクティブ化されます。

  • Web フックが 6 日以上どのシナリオにも接続されていない
  • Web フックが、非アクティブなシナリオ(非アクティブになってから 30 日を超えたシナリオ)でのみ使用される。

非アクティブ化された web フックは、いかなるシナリオにも接続されておらず、非アクティブ状態となって 30 日が経過した場合、自動的に削除され、登録解除されます。

トラブルシューティング

マッピングパネルに項目がありません

Web フック/カスタム web フックモジュールに続くモジュールの設定でマッピングパネルに一部の項目が欠落している場合は、Web フック/カスタム web フック ​モジュールを選択して設定を開き、「データ構造を再決定」をクリックします。

次に、この記事の web フックのデータ構造の設定の節で説明されている手順に従います。

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43