ChatGPT软件排障修复AI 评分 · 待评分AI 辅助编辑·未发现明显提示词注入风险n8n.io

n8n 自动修复 ClickUp Bug:OpenAI 规划 + Cursor 执行 + GitHub PR

ClickUp webhook 接收缺陷报告 → OpenAI 分析并评分 → 可选 Slack 人工审批 → Cursor 后台代理自动修复 → 创建 GitHub PR 并回写 ClickUp

经验丰富步骤流程提示词
给谁
需要为工程团队自动化缺陷修复流程的 DevOps 或工程负责人
你会得到
ClickUp 缺陷报告触发后,自动获得修复方案、可选人工审批、由 Cursor 执行代码修复并提交 GitHub PR,最终更新任务状态
你需要
n8n · slack · github

硬约束

前置条件:可访问的 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

步骤

  1. 配置 webhook 接收缺陷数据

    在 n8n 中创建 Webhook 节点,路径设为 clickup-bug-autofix,方法为 POST,响应模式为 responseNode。在 ClickUp 中配置自动化,将新缺陷任务发送到此 webhook,确保载荷包含 taskId、taskName、description、stackTrace、repoUrl、repoBranch、priority、listId 等字段。

  2. 准备缺陷报告数据

    使用 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')。

  3. 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.
  4. 验证并判定自动修复资格

    使用 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 布尔值。

  5. 审批分支:自动通过或 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.
  6. 构建 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 回调。

  7. 处理 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 参数可用性)。

  8. 更新 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

留言与反馈

试过这个方法吗?分享效果、遇到的问题或改进建议。留言审核后公开,请勿填写敏感信息。

正在加载…

    相关用例