
## 高级n8n工作流与GitHub同步系统
### 🎯 适用人群
这个工作流专为n8n管理员、开发者和高级用户设计,提供可靠、自动化的方式来:
– 保持工作流的版本控制历史
– 使用GitHub基础设施协作开发工作流
– 防止数据丢失,为n8n实例制定灾难恢复计划
### ✨ 核心功能
**智能同步**:将所有n8n工作流可靠地备份到指定的GitHub仓库
**人类可读的文件名**:基于n8n中的实际名称保存工作流(例如:我的超棒工作流.json)
**可靠的匹配**:使用唯一的n8n工作流ID可靠地跟踪文件,即使名称更改
**重命名检测**:如果在n8n中重命名工作流,它会智能地删除旧文件并在单个逻辑操作中创建新文件
**高效的提交**:仅当工作流逻辑或结构发生实际修改时才向GitHub提交更改。它执行深度比较,忽略元数据更改
**清晰的提交历史**:生成干净、信息丰富的提交消息:
– create: 工作流名称
– update: 工作流名称
– rename: 旧名称 -> 新名称
### ⚙️ 工作原理(简单步骤)
1. **获取n8n工作流**:工作流从n8n获取所有当前工作流开始
2. **获取GitHub文件**:同时从GitHub仓库列出所有现有工作流文件
3. **比较和决策**:然后将每个n8n工作流与其GitHub对应项进行比较。检查是否有任何更改、是否重命名或是否为新工作流
4. **采取行动**:
– 如果工作流是新的,则在GitHub上创建
– 如果工作流已更新,则更改GitHub上的文件内容
– 如果工作流已重命名,则删除旧文件并创建新文件
– 如果没有更改,则跳过工作流
5. **发送报告**:最后,可以向Telegram发送关于发生情况的摘要报告
### 🚀 如何设置
**凭据设置**:
– **GitHub**:转到凭据 > 新建并添加您的GitHub凭据。您需要一个具有repo权限的令牌
– **n8n API**:在同一凭据部分中,创建n8n API凭据。您需要n8n实例的基本URL和API密钥(可以在n8n用户设置中创建)
– **Telegram(可选)**:如果需要通知,请添加您的Telegram机器人凭据
**配置工作流**:
1. 打开配置节点(开头的绿色节点)
2. 填写以下值:
– repo.owner:您的GitHub用户名或组织名称
– repo.name:用于备份的仓库名称
– repo.path:仓库内存储工作流的文件夹(例如:workflows/)
– report.tg.chatID(可选):用于通知的Telegram聊天ID。设置为0以禁用
– report.verbose:设置为true以即使没有更改也接收报告
**连接凭据**:
在以下节点中选择新创建的凭据:
– 获取所有工作流:选择您的n8n API凭据
– 所有GitHub节点(例如:列出文件、创建新文件):选择您的GitHub凭据
– 发送消息(Telegram):选择您的Telegram凭据
**设置计划**:
在计划触发器节点中,配置希望备份运行的频率(例如:每小时、每天一次)
**激活工作流**:
保存工作流并将其切换为”活动”
### 🔧 如何自定义
**更改报告目的地**:工作流的最后部分向Telegram发送报告。您可以轻松地将发送消息节点替换为Slack、Discord或电子邮件的节点,以更改通知发送位置。消息在渲染摘要节点中预先格式化
### 💡 未来更新
此工作流正在积极维护!以下是未来版本计划的功能:
**自动归档处理**:下一个主要更新将引入逻辑,自动检测n8n中的工作流何时归档,并将其移动到GitHub仓库中的专用archived/文件夹,保持主备份目录清洁
**性能优化**:正在探索通过智能检查更改再获取完整工作流数据来减少API流量的方法
要在此功能发布时获得包含这些功能的最新版本,请务必关注我的个人资料以获取新的工作流发布!

评论(0)