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