0%

n8n 內建參數介紹

n8n_builtin_variables_bg

$input

{{ $input }} 是當前節點的輸入資料

n8n_builtin_variable_input

介紹幾個常用的 function

曾經用過的場景: 陣列資料被 Filter 過濾後只剩下 0 筆,這時 workflow 會停止在這個節點
但你如果想要接續下去,例如通知自己沒有資料符合條件
就要在 Filter 節點開啟 Always Output Data 選項
這時會往後丟一個 [{}] 的資料
但直接用 {{ $input.all().length }} 會得到 1
因為 [{}] 是一個 長度1 但包含空物件的陣列

這時就可以用 {{ $input.all().filter(item => item.json && Object.keys(item.json).length > 0).length }} 來篩選得到 0

n8n_builtin_variable_item_length_use_in_filter

$json

$json 其實就是上方 $input.item.json 的縮寫
可能是因為太常用掉,n8n team 把 $json 獨立出來當作一個變數減少大家麻煩 👍👍👍

通常需要選擇資料的某一項欄位時,直接從左方拖進來
就會是 $json 開頭的變數,如圖:

n8n_builtin_variable_json
n8n_builtin_variable_json_parameters
n8n_builtin_variable_json_hasfield

可以用在 Filter 節點過濾掉沒有特定欄位的資料

$workflow

{{ workflow }} 是當前 workflow 的相關資訊

n8n_builtin_variable_workflow

$execution

{{ $execution }} 是當前執行的相關資訊

n8n_builtin_variable_execution
  • {{ $execution.id }}
    當前執行的唯一識別碼

  • {{ $execution.mode }}
    工作流程當前所屬的執行模式

    執行模式的差異:
    Test: 測試

    • 用於測試和開發階段
    • 需要手動觸發執行
    • 執行數據可選擇是否保存

    Production: 正式(Active)

    • 用於自動運行的工作流程
    • 工作流程需設置為"活躍"狀態
    • 可由內部或外部事件自動觸發
    • 執行數據的保存可在設置中配置
  • {{ $execution.resumeUrl }}
    用於在工作流程中等候時恢復執行的網址(例如 Wait 節點)

  • {{ $execution.resumeFormUrl }}
    用於在表單提交後恢復執行的網址

$today

用於取得當天 00:00:00 的時間戳

n8n_builtin_variable_today

取得民國的年月日

  • {{ $today.minus(1911, "years").format('y.MM.dd') }}
    目前遇過的 API 中有極少數需要帶入的是台灣的民國年月日,這時在 n8n 也可以輕易取得
    利用 minus 扣掉 1911 年就可以取得民國
    並把 format 改為 y 取年份 , yyyy 會取得 0114 還要額外處理
n8n_builtin_variable_today_roc_date

$runIndex

{{ $runIndex }} 是當前執行的索引值,從 0 開始
適合用在 Loop 後面的節點中,取得目前跑到第幾筆

n8n_builtin_variable_runIndex

$prevNode

{{ $prevNode }} 是當前節點的前一個節點的相關資訊

  • {{ $prevNode.name }}
    前一個節點的名稱

  • {{ $prevNode.outputIndex }}
    前一個節點的輸出索引

    輸出索引的含義:

    • 表示前一個節點的輸出連接器的索引。

    • 用於多輸出節點(如 If 或 Switch 節點)時,告訴你當前輸入來自哪個輸出連接器。

    • 索引從 0 開始,第一個輸出連接器的索引是 0,第二個是 1,以此類推。

    • 在 Merge 節點中,$prevNode.outputIndex 始終返回 0,因為 Merge 節點總是使用第一個輸入連接器的數據。

    • 如圖所示:

n8n_builtin_variable_prevNode

複製成功!