Webhook

webhook是由事件觸發的HTTP呼叫。 您可以使用Webhook來啟動即時觸發程式模組。 任何連線至網際網路並允許HTTP請求的應用程式都可以將Webhook傳送至Adobe Workfront Fusion。

存取需求

您必須具有下列存取權才能使用本文中的功能:

Adobe Workfront 計畫*
Pro或更高版本
Adobe Workfront 授權*
計畫,工作
Adobe Workfront Fusion 授權**

目前授權需求:無Workfront Fusion授權需求。

舊版授權需求:Workfront Fusion for Work Automation and Integration

產品

目前產品需求:如果您有Select或Prime Adobe Workfront計畫,您的組織必須購買Adobe Workfront Fusion及Adobe Workfront,才能使用本文所述的功能。 Workfront Fusion包含在Ultimate Workfront計畫中。

舊版產品需求:您的組織必須購買Adobe Workfront Fusion及Adobe Workfront,才能使用本文所述的功能。

*若要瞭解您擁有的計畫、授權型別或存取權,請連絡您的Workfront管理員。

**如需Adobe Workfront Fusion授權的相關資訊,請參閱Adobe Workfront Fusion 授權

在Workfront Fusion中使用webhook

NOTE
若要呼叫第三方webhook (傳出webhook),請使用其中一個HTTP模組。 如需詳細資訊,請參閱HTTP模組

若要使用webhook將應用程式連線到Workfront Fusion:

  1. 將​ Webhook >自訂Webhook ​即時觸發模組新增至您的情境。

  2. 按一下Webhook欄位旁的​ 新增,然後輸入新webhook的名稱。

  3. (選擇性)按一下​ 進階設定

  4. 在​ IP限制 ​欄位中,輸入模組可以接受資料的IP位址清單(以逗號分隔)。

  5. 按一下​ 儲存

建立webhook之後,會顯示唯一的URL。 這是webhook傳送資料的地址。 Workfront Fusion會驗證傳送到此位址的資料,然後傳遞它以用於案例中的處理。

NOTE
建立webhook後,您可以一次用於多個情境。

設定webhook的資料結構 configure-the-webhook-s-data-structure

為了識別傳入裝載的資料結構,Workfront Fusion會剖析您傳送至顯示位址的範例資料。 您可以變更服務或應用程式,讓該服務或應用程式呼叫webhook,以提供範例資料。 例如,您可以移除檔案。

或者,您可以依照下列步驟,透過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 輸入webhook的URL。 您可以在用來設定webhook的Webhooks模組中找到此URL。
    方法 POST
    主體型別 Raw
    內容型別 JSON (application/json)
    要求內容 webhook中需要原始JSON

  3. 在單獨的瀏覽器標籤或視窗中開啟具有Webhooks模組的情境。

  4. 在webhooks模組中,按一下​ 重新決定資料結構

    您不需要從webhooks模組取消連結其他模組。

  5. 切換至具有HTTP模組的情境並執行它。

  6. 切換回使用Webhooks模組的情境。

    「已成功判定」訊息表示模組已成功判定資料結構。

  7. 按一下​ 確定 ​以儲存資料結構。

    webhook的專案現在可以在對應面板中使用,以便與案例中的後續模組一起使用。

佇列

如果webhook收到資料,而且沒有作用中案例需要該資料,則資料會儲存在佇列中。 啟用情境後,它會依序處理佇列中等待的所有組合。

IMPORTANT
Webhook佇列在使用相同webhook的情境之間共用。 如果其中一個案例已停用,所有傳入資料都會保留在佇列中。

支援的傳入資料格式

Workfront Fusion支援3種傳入資料格式: 查詢字串、表單資料和JSON。

Workfront Fusion會根據選取的資料結構驗證所有傳入的資料。 然後,根據情境的設定,資料會儲存在佇列中以供處理,或立即處理。

如果資料的任何部分未通過驗證,Workfront Fusion會傳回400 HTTP狀態代碼,並在HTTP回應的內文中指定傳入資料未通過驗證檢查的原因。 如果傳入資料的驗證成功,Workfront Fusion會傳回"200 Accepted"狀態。

查詢字串

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編碼的檔案,您必須使用collection型別欄位來設定資料結構,該欄位包含巢狀欄位namemimedata。 欄位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,請在設定webhook時啟用JSON傳遞。
  1. 按一下​**[新增]**以新增新的webhook。
  2. 按一下​ 顯示進階設定
  3. 按一下​ JSON傳遞

Webhook標題

若要存取webhook的標頭,請在設定webhook時啟用Get要求標頭。

  1. 按一下​**[新增]**以新增新的webhook。
  2. 按一下​ 顯示進階設定
  3. 按一下​ 取得要求標題

您可以使用map()get()函式的組合來擷取特定的標頭值。

INFO
範例:
下列範例顯示從Headers[]陣列中擷取authorization標頭值的公式。 此公式會用於比較擷取值與指定文字的篩選中,以便只傳遞符合的Webhook。
如需有關使用指定索引鍵取得陣列元素的進一步資訊,請參閱文章在Adobe Workfront Fusion中將資訊從一個模組對應到另一個模組將具有指定索引鍵的陣列元素對應。

回應Webhook

webhook呼叫的預設回應是文字「已接受」。 回應會傳回至應用程式,該應用程式會在執行自訂Webhook模組期間呼叫webhook。

測試對webhook的回應

  1. 在您的情境中加入​ 自訂Webhook ​模組。

  2. 將新的webhook新增至模組。

  3. 將webhook URL複製到剪貼簿。

  4. 執行情境。

    自訂Webhook模組上的閃電圖示會變更為旋轉的點。 這顯示模組現在正等候webhook呼叫。

  5. 開啟新的瀏覽器視窗,將複製的URL貼到網址列,然後按​ Enter

    已觸發自訂Webhook模組,瀏覽器將顯示新頁面。

如果要自訂webhook的回應,請採用模組Webhook回應。

模組的設定包含兩個欄位: 狀態和內文。

  • Status欄位包含HTTP回應狀態代碼,例如,2xx代表Success (例如,200代表OK)、3xx代表Redirection (例如,307代表Temporary Redirect)、4xx代表Client errors (例如,400代表Bad Request)等等。

  • Body欄位包含webhook呼叫將接受的任何內容。 可以是簡單文字、HTML、XML、JSON等。

    note tip
    TIP
    建議將Content-Type標頭設定為對應的MIME型別: text/plain用於純文字,text/html用於HTML,application/json用於JSON,application/xml用於XML等等。 如需MIME型別的詳細資訊,請參閱MIME模組

傳送回應的逾時為40秒。 如果在該期間內沒有回應,Workfront Fusion會傳回「200已接受」狀態。

HTML回應範例

INFO
範例:
設定Webhook回應模組,如下所示:
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header
狀態 2xx成功HTTP狀態代碼,例如200
Body HTML代碼
自訂標頭

>

  • > 索引鍵: Content-type
  • > : text/html >
這會產生HTML回應,並顯示在網頁瀏覽器中:

重新導向範例

INFO
範例: ​設定Webhook回應模組,如下所示:
table 0-row-2 1-row-2 layout-auto html-authored no-header
狀態 3xx重新導向HTTP狀態代碼,例如303
自訂標頭

>

  • > 索引鍵:位置
  • > :您要重新導向的URL。 >

Webhook停用

如果符合下列任一條件,Webhook就會自動停用:

  • webhook已超過5天未連線至任何案例
  • webhook僅用於非使用中情況,這些情況已非使用中超過30天。

如果停用的Webhook未連線至任何情境且處於停用狀態超過30天,則會自動刪除和取消註冊。

疑難排解

對應面板中缺少專案

如果遵循Webhooks > 自訂Webhook模組的模組設定中的對應面板遺漏某些專案,請按一下​ Webhooks > 自訂Webhook ​模組以開啟其設定,然後按一下​ 重新決定資料結構

然後遵循本文中設定webhook的資料結構一節中所述的步驟。

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