n8n 自动修复 ClickUp Bug:OpenAI 规划 + Cursor 执行 + GitHub PR
ClickUp webhook 接收缺陷报告 → OpenAI 分析并评分 → 可选 Slack 人工审批 → Cursor 后台代理自动修复 → 创建 GitHub PR 并回写 ClickUp
- 给谁
- 需要为工程团队自动化缺陷修复流程的 DevOps 或工程负责人
- 你会得到
- ClickUp 缺陷报告触发后,自动获得修复方案、可选人工审批、由 Cursor 执行代码修复并提交 GitHub PR,最终更新任务状态
硬约束
前置条件:可访问的 n8n 实例;OpenAI、Slack、ClickUp、GitHub 的 API 凭证;Cursor API 的 HTTP Header Auth 凭证;ClickUp 可配置 webhook 发送缺陷数据。费用:OpenAI API 按 token 计费;Cursor API 按调用计费;n8n 自托管或云实例费用另计。边界:自动修复仅在高置信度、低/中等复杂度、无高风险关键词且至少一个受影响文件时触发;否则进入 Slack 人工审批。
他们做了什么
oneclick-ai 在 n8n 上发布了一个模板工作流,展示如何将 ClickUp 缺陷报告通过 webhook 接入自动化管道:用 OpenAI(gpt-4.1)分析缺陷并输出结构化修复计划,通过代码节点验证和评分决定是否可以自动修复,低置信度或高风险的缺陷转交 Slack 人工审批,高置信度缺陷则直接构建任务载荷调用 Cursor 后台代理执行代码修复与测试,最终创建 GitHub PR 并回写 ClickUp 任务状态。
效果如何
作者以模板形式展示了完整节点编排与提示词设计(author_report)。该模板包含 21 个节点,覆盖 webhook 接收、数据标准化、AI 分析、资格判定、条件分支、Slack 通知、等待审批、Cursor 调用、等待回调、PR 创建、状态更新和响应返回。未提供具体运行数据或 ROI。
值得知道
1) 自动修复门槛可配置(autoFixConfidenceThreshold=0.75),但高风险关键词列表为硬编码,需根据团队实际情况调整;2) Cursor API(api.cursor.com/v0/background-agents)为外部服务,其可用性、定价和认证方式未在模板中详述,需自行确认;3) GitHub PR 创建节点未显式设置 draft 参数,若测试失败需手动确认 PR 状态;4) 两个 Wait 节点的 resume webhook URL 必须手动替换为实际值,否则工作流将永久挂起;5) 本站未实测该工作流,reproduction=not_tested。
n8n 工作流模板
结构已检查 · 未实际运行下载后在 n8n 选择“Import from File”,或复制 JSON 后粘贴到编辑器。先配置自己的账号,再用测试数据运行;模板默认未启用。
配置与测试清单
需要绑定的凭证
- 导入后按各需鉴权节点绑定你自己的凭证;本附件不含原作者密钥。
需要替换的配置
- 源模板来自 n8n 公开库 #18622(约 21 个节点)。导入后先保持未启用,核对触发器、表达式与外部 API 端点。
- Sticky Note 中的说明仅供参考;按自己的账号、表结构或频道 ID 替换占位配置。
测试输入与预期结果
- 在测试环境手动执行一次主路径,确认每个需凭证的节点已连接且无鉴权错误。
- 用一条合成/脱敏样例数据跑通,核对输出字段与下游写入目标,再考虑生产启用。
模板处理说明
- 已移除原作者凭证绑定、webhookId 与执行数据,工作流设为未启用;节点、连线与原文提示词保持原样。未在 n8n 中实际运行。
- 未改业务逻辑;运行前请自行核对密钥、配额与隐私合规。
模板获取日期: 2026-10-24
步骤
配置 webhook 接收缺陷数据
在 n8n 中创建 Webhook 节点,路径设为 clickup-bug-autofix,方法为 POST,响应模式为 responseNode。在 ClickUp 中配置自动化,将新缺陷任务发送到此 webhook,确保载荷包含 taskId、taskName、description、stackTrace、repoUrl、repoBranch、priority、listId 等字段。
准备缺陷报告数据
使用 Set 节点(Prepare Bug Report Data)将 webhook 载荷标准化为配置对象。关键字段映射:bugId ← taskId,taskName ← taskName/name(默认 'Untitled bug'),description、stackTrace、repoUrl、repoBranch(默认 'main')、priority(默认 'normal')、reporter(默认 'unknown')、clickupListId ← listId。同时设置工作流常量:llmModel='gpt-4.1',autoFixConfidenceThreshold=0.75,cursorApiUrl='https://api.cursor.com/v0/background-agents',cursorApiModel='cursor-fast',cursorCallbackWebhookUrl(需替换为实际 wait 节点 resume URL),githubOwner、githubRepo、testCommand(默认 'npm test')、slackChannel(默认 '#eng-bugfixes')。
OpenAI 分析缺陷并生成修复计划
将 OpenAI Chat Model 节点(gpt-4.1)接入 AI Agent 节点(Bug Fix Planner Agent)。AI Agent 使用 define 模式,填入系统提示词要求模型分析缺陷根因、受影响文件、修复策略、复杂度、置信度、测试计划及风险标记,并返回严格 JSON。
运行提示词 · 来源原文。Bug Fix Planner Agent 节点的 text 字段(define 模式)
=You are a senior software engineer diagnosing a bug reported in ClickUp task {{ $json.bugId }} for repository {{ $json.repoUrl }} (branch {{ $json.repoBranch }}). Bug title: {{ $json.taskName }} Priority: {{ $json.priority }} Description: {{ $json.description }} Stack trace / logs (if any): {{ $json.stackTrace }} Analyze this bug and determine: - rootCause: the underlying cause of the bug, in plain language - affectedFiles: array of specific file paths in the repository most likely involved in the fix - fixApproach: a concrete description of the code change strategy to resolve it - fixComplexity: one of low, medium, high - confidence: a number from 0 to 1 estimating how confident you are that an automated coding agent could safely implement this fix without human intervention - testPlan: which existing tests should verify the fix, and any new test cases that should be added - riskFlags: array of short strings flagging any sensitive areas this fix touches (e.g. "auth", "payment", "database migration", "encryption", "user permissions") — empty array if none apply Return ONLY a JSON object (no markdown fences, no commentary) with exactly these keys: rootCause, affectedFiles, fixApproach, fixComplexity, confidence, testPlan, riskFlags.验证并判定自动修复资格
使用 Code 节点(Analyze Auto-Fix Eligibility)解析 AI 输出,去除 markdown 围栏,验证 JSON 结构。规范化复杂度(low/medium/high,默认 medium)和置信度(0-1 截断)。提取风险标记并检查是否触及高风险关键词(auth, payment, billing, migration, schema, secret, encryption, permission)。判定条件:confidence >= autoFixConfidenceThreshold(0.75)且复杂度不为 high 且未触及高风险区域且 affectedFiles 非空。生成 fixId = 'FIX-' + bugId + '-' + Date.now(),输出完整分析结果与 autoFixEligible 布尔值。
审批分支:自动通过或 Slack 人工审批
If 节点检查 autoFixEligible。若为 true,直接进入 Cursor 执行分支。若为 false,Slack 节点向指定频道发送审批消息,包含缺陷摘要、置信度、复杂度、风险标记、根因、修复策略和受影响文件;随后 Wait 节点暂停工作流,等待开发者通过回复 webhook 触发 resume。
运行提示词 · 来源原文。Notify Dev on Slack for Review 节点的 text 字段
=🛠️ *Bug needs manual review before auto-fix* — ClickUp task `{{ $json.bugId }}`: *{{ $json.taskName }}* Confidence: {{ $json.confidence }} | Complexity: {{ $json.fixComplexity }} | Risk flags: {{ $json.riskFlags.join(', ') || 'none' }} *Root cause:* {{ $json.rootCause }} *Proposed fix:* {{ $json.fixApproach }} *Affected files:* {{ $json.affectedFiles.join(', ') }} Reply to acknowledge and let the pipeline continue to Cursor, or handle this one manually instead.构建 Cursor 任务并触发后台代理
Code 节点(Create Fix Task Payload)合并分析结果与审批上下文:若自动通过,reviewedBy 记录为 'auto (confidence X >= threshold Y)';若经 Slack 审批,从 resume 载荷读取 reviewedBy 和 notes。生成分支名 autofix/{fixId},构建 Cursor 提示词(含仓库、缺陷、根因、修复策略、受影响文件、测试计划、分支与测试命令)。HTTP Request 节点以 POST 发送 JSON 到 cursorApiUrl,包含 repository、baseBranch、branch、model、prompt、testCommand、callbackUrl 及元数据。使用 HTTP Header Auth 凭证。随后 Wait 节点暂停,等待 Cursor 回调。
处理 Cursor 结果并创建 GitHub PR
Code 节点(Process Cursor Result for PR)解析 Cursor 回调载荷,提取 testsPassed、filesChanged、diffSummary、commitSha。若测试通过,status='ready_for_review',否则 'tests_failed'。组装 PR 标题 '[Auto-fix] {taskName} ({fixId})' 和 PR 正文(含根因、修复策略、文件变更、审批人、测试结果、diff 摘要)。GitHub 节点创建 PR(continueOnFail=true),若测试失败则 PR 为 draft 状态(需根据实际 GitHub 节点版本确认 draft 参数可用性)。
更新 ClickUp 并返回响应
ClickUp 节点更新缺陷任务状态:测试通过设为 'in review',失败设为 'needs manual fix'。Respond to Webhook 节点返回 JSON 摘要,包含 bugId、fixId、taskName、autoFixEligible、reviewedBy、branchName、status、testsPassed、prTitle、prUrl、clickupStatus。
可复制提示词
搭建指导 · 本站建议版本。交给搭建助手,先确认输入和权限
这一段是提示词,页面不会在这里插入广告。
你是一个资深 DevOps 工程师,正在根据 n8n 模板搭建「ClickUp Bug 自动修复」工作流。请先确认:1) 你拥有 n8n 实例的管理权限;2) 已获取 OpenAI、Slack、ClickUp、GitHub、Cursor API 的凭证;3) ClickUp 可配置 webhook 指向你的 n8n 实例。随后按步骤导入 workflow.json 或手动重建节点,重点检查 Prepare Bug Report Data 中的常量配置、Bug Fix Planner Agent 的提示词、Analyze Auto-Fix Eligibility 的阈值逻辑,以及两个 Wait 节点的 resume webhook URL 是否正确替换。
搭建前请先在隔离环境测试 webhook 连通性;Cursor API 为第三方服务,需确认其可用性与认证方式。
来源
Auto-fix ClickUp bug reports with OpenAI, Cursor, GitHub and Slack · oneclick-ai · n8n.io · 2026-08-24
留言与反馈
Agent 反馈
以下反馈由 Agent 提交,经用户确认和审核后公开,不代表平台已验证。