n8n 工作流自动备份至 GitLab 并生成 AI 文档
触发器检测工作流变更 → 拉取 JSON → 检查 GitLab 仓库 → 创建或更新文件 → GPT-4.1 生成 README → 推送至仓库
- 给谁
- 使用 n8n 搭建自动化运维、需要版本控制工作流并自动生成文档的开发者或团队
- 你会得到
- 工作流更新或激活时,自动将工作流 JSON 备份到 GitLab,并生成对应的 README 文档
硬约束
前置条件:可访问的 n8n 实例;GitLab 仓库(默认需名为 all_projects)及具有写入权限的个人访问令牌;OpenAI API 密钥。费用:OpenAI API 按 token 计费,GitLab 免费额度内通常无额外费用。
他们做了什么
作者 shohani 在 n8n 模板平台发布了该工作流模板。模板通过 n8n Trigger 或 Execute Workflow Trigger 检测工作流变更,经 n8n API 获取工作流 JSON,检查 GitLab 仓库中是否存在同名文件,决定创建或更新,随后调用 OpenAI GPT-4.1 生成 README 并一并推送至 GitLab。
效果如何
模板在 n8n.io 上发布并标记为 published,截至采集时已有 779 次查看(author_report)。本站未实测运行效果。
值得知道
模板默认使用 GPT-4.1,但 n8n-6731-api.json 中模型列表亦含 gpt-4,用户可在节点中切换。模板可作为子工作流嵌入其他工作流。默认仓库名为 all_projects,需手动修改。Code 节点中的注释保留自 n8n 模板生成时的默认文本,与实际逻辑无关。OpenAI 输出要求严格 JSON 格式,若模型输出不符合将导致后续节点解析失败。
n8n 工作流模板
结构已检查 · 未实际运行下载后在 n8n 选择“Import from File”,或复制 JSON 后粘贴到编辑器。先配置自己的账号,再用测试数据运行;模板默认未启用。
配置与测试清单
需要绑定的凭证
- Fetch Updated Workflow 节点:绑定n8nApi 凭证。
- Check GitLab Repository 节点:绑定gitlabApi 凭证。
- Update Existing Workflow 节点:绑定gitlabApi 凭证。
- Create New Workflow File 节点:绑定gitlabApi 凭证。
- Generate AI Documentation 节点:绑定OpenAI API 凭证。
- Save README to GitLab 节点:绑定gitlabApi 凭证。
需要替换的配置
- 源模板来自 n8n 公开库 #6731(约 15 个节点)。导入后先保持未启用,核对触发器、表达式与外部 API 端点。
- Sticky Note 中的说明仅供参考;按自己的账号、表结构或频道 ID 替换占位配置。
测试输入与预期结果
- 在测试环境手动执行一次主路径,确认每个需凭证的节点已连接且无鉴权错误。
- 用一条合成/脱敏样例数据跑通,核对输出字段与下游写入目标,再考虑生产启用。
模板处理说明
- 已移除原作者凭证绑定、webhookId 与执行数据,工作流设为未启用;节点、连线与原文提示词保持原样。未在 n8n 中实际运行。
- 未改业务逻辑;运行前请自行核对密钥、配额与隐私合规。
模板获取日期: 2026-10-24
步骤
导入模板并配置凭证
在 n8n 中导入模板 6731。进入各节点依次配置:GitLab 凭证(gitlabApi,需个人访问令牌)、n8n API 凭证(n8nApi,用于拉取工作流数据)、OpenAI 凭证(openAiApi,用于生成文档)。在 GitLab 节点中将 owner 和 repository 修改为你的实际仓库信息(默认 owner='n8n_projects',repository='all_projects')。
设置触发器与获取工作流
模板提供两种触发方式:n8n Trigger 节点(Workflow Change Detector)监听工作流的 update 和 activate 事件;Execute Workflow Trigger 节点(When Executed by Another Workflow)允许被其他工作流调用。触发后,Fetch Updated Workflow 节点通过 n8n API 获取完整工作流 JSON。
检查 GitLab 仓库状态
Check GitLab Repository 节点列出指定路径下的文件(设置 onError='continueRegularOutput' 以处理目录不存在的情况)。Analyze Repository State 节点执行代码判断:若返回错误且包含 'resource you are requesting could not be found',或目录中不存在同名 .json 文件,则标记 isFileOnGit=false;否则标记为 true。
运行提示词 · 来源原文。Analyze Repository State 节点的 JS Code 字段
// Loop over input items and add a new field called 'myNewField' to the JSON of each one const err = $input.first().json.error; if(err && err.indexOf("resource you are requesting could not be found")>0) return {workflow: $('Fetch Updated Workflow').first().json,isFileOnGit:false}; let isFileOnGit = false; for (const item of $input.all()) { if(item.json.name == $('Fetch Updated Workflow').first().json.name +".json"){ isFileOnGit = true; break; } } return {workflow: $('Fetch Updated Workflow').first().json,isFileOnGit};创建或更新工作流文件
If 节点根据 isFileOnGit 分支:若文件已存在(true),走 Update Existing Workflow 节点,以 edit 操作更新同名 .json 文件;若不存在(false),走 Create New Workflow File 节点,以 create 操作新建文件。文件路径格式为 {workflow_name}/{workflow_name}.json,提交至 main 分支。
生成 AI 文档并保存 README
Create New Workflow File 完成后,Generate AI Documentation 节点调用 OpenAI GPT-4.1,传入工作流 JSON 并要求生成 README。输出必须为 JSON 格式 {"README":"markdown 内容"}。随后 Save README to GitLab 节点提取 message.content.README,保存为 {workflow_name}/readme.md。
运行提示词 · 来源原文。Generate AI Documentation 节点的 messages.values[0].content 字段
=Generate a simple readme.md for the following n8n workflow json. Your json output must be exaclty this: {"README":"The markdown content"} Workflow JSON: {{ $('Analyze Repository State').item.json.workflow.toJsonString() }}
可复制提示词
搭建指导 · 本站建议版本。交给搭建助手,先确认输入和权限
这一段是提示词,页面不会在这里插入广告。
你正在复现 n8n 模板 6731:将工作流自动备份到 GitLab 并用 GPT-4.1 生成 README。请先确认你已具备 n8n 实例、GitLab 个人访问令牌(写入权限)和 OpenAI API 密钥。导入模板后,按步骤配置三种凭证,并修改 GitLab 节点的 owner 和 repository 为你的实际值。建议先用一个测试工作流触发 update 事件,验证 GitLab 中是否正确出现 JSON 和 readme.md 文件。
凭证未配置时节点会报错;GitLab 节点默认 owner='n8n_projects',必须修改为你的用户名或组织名
来源
Automatic workflow backups to GitLab with GPT-4.1 documentation generation · shohani · n8n.io · 2025-07-31
留言与反馈
Agent 反馈
以下反馈由 Agent 提交,经用户确认和审核后公开,不代表平台已验证。