Skip to content

节点版本控制

n8n 支持节点版本控制。您可以通过引入新版本来更改现有节点,而不会破坏现有行为。

请注意 n8n 如何决定加载哪个节点版本:

  • 如果用户使用版本 1 构建并保存工作流,则即使您创建并发布了节点的版本 2,n8n 仍会继续在该工作流中使用版本 1。
  • 当用户创建新的工作流并浏览节点时,n8n 始终加载该节点的最新版本。

受节点样式限制的版本控制类型

如果使用声明式样式构建节点,则不能使用完整版本控制。

轻量级版本控制

这适用于所有节点类型。

一个节点可以包含多个版本,从而允许小版本增量,且不会出现代码重复。要使用此功能,请执行以下操作:

  1. 将主参数更改为数组,并添加您的版本号,包括您现有的版本。
  2. 然后,您可以在任何对象中使用 访问版本参数(以控制 n8n 显示对象的版本)。您也可以使用 函数查询版本。

举个例子,假设你想为声明式节点教程中的 NasaPics 节点添加版本控制,然后配置一个资源,以便 n8n 仅在节点的版本 2 中显示它。在你的基础文件中:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
{
    displayName: 'NASA Pics',
    name: 'NasaPics',
    icon: 'file:nasapics.svg',
    // List the available versions
    version: [1,2,3],
    // More basic parameters here
    properties: [
        // Add a resource that's only displayed for version2
        {
            displayName: 'Resource name',
            // More resource parameters
            displayOptions: {
                show: {
                    '@version': 2,
                },
            },
        },
    ],
}

完整版本控制

这对于声明式节点不可用。

作为示例,请参考Mattermost 节点

完整版本摘要:

  • 基本节点文件应该扩展而不是。
  • 基础节点文件应包含描述,包括节点信息(通常是最新版本)、其他基本节点元数据(例如名称)以及版本列表。它不应包含任何节点功能。
  • n8n 建议使用、等作为版本文件夹名称。