该工作流提供了一套自动化解决方案,可每天将您的所有n8n工作流备份至指定GitHub仓库。通过整合n8n API和GitHub API,确保您的工作流实现版本控制与安全存储,有效防止数据丢失并简化灾难恢复流程。
运作原理
自动化流程包含以下关键步骤:
- 定时触发:每天在预设时间自动启动工作流。
- 列出已有备份:首先连接GitHub仓库获取已备份文件列表,用于判断是否需要创建或更新备份文件。
- 获取n8n工作流:通过n8n REST API从您的n8n实例中提取当前所有工作流。
- 处理与准备:将每个工作流数据转为JSON格式并编码为base64,适配GitHub API文件操作要求。
- 提交至GitHub:
- 生成标准化文件名(如
工作流名称-标签.json
) - 检查GitHub仓库是否存在同名文件
- 文件存在时:更新现有文件
- 新工作流时:创建新文件
- 每次提交均附带时间戳
- 生成标准化文件名(如
前置条件
- 运行中的n8n实例(自托管或云端)
- GitHub账户及专用备份仓库
- 具有
repo
权限的GitHub个人访问令牌 - n8n实例API密钥
配置步骤
- 导入模板至n8n实例
- 配置n8n API凭证:在”获取工作流”节点填写实例URL和API密钥
- 配置GitHub凭证:在相关节点设置个人访问令牌
- 指定仓库详情:包括所有者、仓库名、分支及存储路径
- 调整计划(可选):修改定时触发节点的执行频率
- 激活工作流
节点详解
- 定时触发器:按计划启动工作流
- 仓库文件列表:检查现有备份文件
- 聚合节点:整合文件名列表
- 获取工作流:通过API提取当前工作流
- JSON转换:格式化工作流数据
- Base64编码:准备GitHub API所需格式
- 提交元数据:生成文件名和提交时间
- 条件判断:检查文件是否存在
- 文件更新/上传:执行对应GitHub操作
定制选项
- 修改备份存储路径
- 自定义文件名规则
- 调整提交信息内容
- 增加错误处理机制
- 按标签/名称过滤工作流
- 更改备份频率
模板基于n8n v1.92.2
创建