Webhook
webhook是由事件觸發的HTTP呼叫。 您可以使用Webhook來啟動即時觸發程式模組。 任何連線至網際網路並允許HTTP請求的應用程式都可以將Webhook傳送至Adobe Workfront Fusion。
存取需求
您必須具有下列存取權才能使用本文中的功能:
*若要瞭解您擁有的計畫、授權型別或存取權,請連絡您的Workfront管理員。
**如需Adobe Workfront Fusion授權的相關資訊,請參閱Adobe Workfront Fusion 授權
在Workfront Fusion中使用webhook
若要使用webhook將應用程式連線到Workfront Fusion:
-
將 Webhook >自訂Webhook 即時觸發模組新增至您的情境。
-
按一下Webhook欄位旁的 新增,然後輸入新webhook的名稱。
-
(選擇性)按一下 進階設定。
-
在 IP限制 欄位中,輸入模組可以接受資料的IP位址清單(以逗號分隔)。
-
按一下 儲存
建立webhook之後,會顯示唯一的URL。 這是webhook傳送資料的地址。 Workfront Fusion會驗證傳送到此位址的資料,然後傳遞它以用於案例中的處理。
設定webhook的資料結構 configure-the-webhook-s-data-structure
為了識別傳入裝載的資料結構,Workfront Fusion會剖析您傳送至顯示位址的範例資料。 您可以變更服務或應用程式,讓該服務或應用程式呼叫webhook,以提供範例資料。 例如,您可以移除檔案。
或者,您可以依照下列步驟,透過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 輸入webhook的URL。 您可以在用來設定webhook的Webhooks模組中找到此URL。 方法 POST 主體型別 Raw 內容型別 JSON (application/json) 要求內容 webhook中需要原始JSON -
在單獨的瀏覽器標籤或視窗中開啟具有Webhooks模組的情境。
-
在webhooks模組中,按一下 重新決定資料結構。
您不需要從webhooks模組取消連結其他模組。
-
切換至具有HTTP模組的情境並執行它。
-
切換回使用Webhooks模組的情境。
「已成功判定」訊息表示模組已成功判定資料結構。
-
按一下 確定 以儲存資料結構。
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
型別欄位來設定資料結構,該欄位包含巢狀欄位name
、mime
和data
。 欄位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"}
- 按一下**[新增]**以新增新的webhook。
- 按一下 顯示進階設定。
- 按一下 JSON傳遞。
Webhook標題
若要存取webhook的標頭,請在設定webhook時啟用Get要求標頭。
- 按一下**[新增]**以新增新的webhook。
- 按一下 顯示進階設定。
- 按一下 取得要求標題。
您可以使用map()
和get()
函式的組合來擷取特定的標頭值。
Headers[]
陣列中擷取authorization
標頭值的公式。 此公式會用於比較擷取值與指定文字的篩選中,以便只傳遞符合的Webhook。![](./media_19c00f8fc112a80577c8c86c6266afbddded0c0fb.png?width=750&format=png&optimize=medium)
回應Webhook
webhook呼叫的預設回應是文字「已接受」。 回應會傳回至應用程式,該應用程式會在執行自訂Webhook模組期間呼叫webhook。
測試對webhook的回應
-
在您的情境中加入 自訂Webhook 模組。
-
將新的webhook新增至模組。
-
將webhook URL複製到剪貼簿。
-
執行情境。
自訂Webhook模組上的閃電圖示會變更為旋轉的點。 這顯示模組現在正等候webhook呼叫。
-
開啟新的瀏覽器視窗,將複製的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回應範例
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header | |
---|---|
狀態 | 2xx成功HTTP狀態代碼,例如200 |
Body | HTML代碼 |
自訂標頭 |
>
|
![](./media_1d61e5a53f6b451ba003c3341c8f1b97254929124.png?width=750&format=png&optimize=medium)
![](./media_18706152db0153d4e098de351c3b9b77da0c403af.png?width=750&format=png&optimize=medium)
重新導向範例
table 0-row-2 1-row-2 layout-auto html-authored no-header | |
---|---|
狀態 | 3xx重新導向HTTP狀態代碼,例如303 |
自訂標頭 |
>
|
![](./media_1fcda5a926af051ce508d0d8c22bdb44634a44a54.png?width=750&format=png&optimize=medium)
Webhook停用
如果符合下列任一條件,Webhook就會自動停用:
- webhook已超過5天未連線至任何案例
- webhook僅用於非使用中情況,這些情況已非使用中超過30天。
如果停用的Webhook未連線至任何情境且處於停用狀態超過30天,則會自動刪除和取消註冊。
疑難排解
對應面板中缺少專案
如果遵循Webhooks > 自訂Webhook模組的模組設定中的對應面板遺漏某些專案,請按一下 Webhooks > 自訂Webhook 模組以開啟其設定,然後按一下 重新決定資料結構:
然後遵循本文中設定webhook的資料結構一節中所述的步驟。