我的工作流程可以手動運作,但自動觸發時失敗。為什麼?
描述問題/錯誤/問題
錯誤訊息是什麼(如有)?
請分享您的工作流程
(在畫布上選取節點,並使用鍵盤快捷鍵 CMD+C/CTRL+C 和 CMD+V/CTRL+V 複製並貼上工作流程。)
分享最後一個節點返回的輸出
您的 n8n 設定資訊
- n8n 版本:
- 資料庫(預設值:SQLite):
- n8n EXECUTIONS_PROCESS 設定(預設值:own、main):
- 執行 n8n 的方式(Docker、npm、n8n cloud、桌面應用程式):
- 作業系統:
@Joseph_Iko1 通常這是因為觸發程序提供的資料與你的手動測試不同,手動執行時你使用的是固定或範例輸入,但實際觸發程序傳送的資料結構不同(或為空),導致某個表達式手動時能解析,但實際執行時回傳 undefined,節點就會拋出錯誤。在「執行記錄」(Executions)標籤中開啟失敗的執行記錄,檢查確切的錯誤訊息和失敗的節點,它說了什麼?
傳入的資料在自動執行期間可能有所不同。比較兩次執行的執行資料,並檢查所有認證憑證和環境變數是否都可用。
有一個特別要補充的:在你的觸發節點上點擊「Listen for Test Event」,然後用真實事件觸發一次 - 這樣可以讓你檢查觸發器在生產環境中收到的確切資料結構。該資料幾乎總是與手動測試模式給你的不同。
然後檢查 Executions 標籤,找到失敗的執行,點擊失敗的節點 - 它會顯示確切哪個表達式出錯,以及該時刻的實際輸入資料是什麼樣子。不匹配通常是因為缺少欄位或資料的巢狀結構與預期不同。