实战 SOP
实战 SOP

GitHub Issue 自动分类工作流模板:webhook + LLM 分诊 + 打标签(可下载)

开源 issue 一多人工分类就是灾难。n8n 工作流监听 GitHub webhook,LLM 自动判断类型(bug/feature/文档/疑问)与优先级(P0-P3),调 GitHub API 打标签再通知群。附 .json 模板下载、分类 Prompt 与三避坑。

发布于 2026年7月26日4 分钟阅读
<!-- workflow-github-issue-triage | resource | GitHub Issue 自动分类工作流模板 -->

开源项目 issue 一多,人工分类就是灾难。这个 n8n 工作流模板监听 GitHub webhook,新 issue 进来用大模型自动打标签、判断优先级,再通知到群。维护者和团队都能省下大量分诊时间。

工作流链路

GitHub webhook 触发 -> 提取 issue 标题和正文 -> LLM 分类(bug/feature/文档/疑问 + 优先级)-> 调 GitHub API 打标签 -> 通知群。

下载模板

使用步骤

  1. 导入:n8n -> Workflows -> Import from File,选 github-issue-triage.json
  2. Webhook 节点:设 POST 路径,在 GitHub 仓库 Settings -> Webhooks 指向 n8n 的公网地址,触发事件勾 Issues
  3. LLM 节点:填 API key,Prompt 让模型输出 JSON(type + priority + reason)
  4. GitHub API 节点:填 Personal Access Token(需 repo 权限),用 PATCH /repos/:owner/:repo/issues/:number 加 labels
  5. 通知节点:飞书/钉钉/Slack webhook
  6. 试运行:随便开一个测试 issue,看是否自动打标签

配套 Prompt(LLM 分类)

Prompt
你是项目维护者。判断这个 GitHub issue 的类型和优先级,仅输出 JSON:
- type: bug | feature | documentation | question
- priority: P0(阻断/数据丢失)| P1(主要功能受影响)| P2(次要)| P3(优化/疑问)
- reason: 一句话依据
判断依据:标题 + 正文。正文为空或只有「doesn't work」无复现步骤的,优先级最高 P2 起步。
Issue 标题:{{title}}
Issue 正文:{{body}}

踩坑

  • LLM 输出非 JSON:Prompt 末尾强调「仅输出 JSON」,n8n 加解析重试 + 失败兜底分支(默认打 needs-triage 标签)
  • GitHub API 限流:认证用 token,未认证 60 次/小时根本不够;打标签用 PATCH 不是 POST
  • webhook 安全:校验 GitHub 发来的 X-Hub-Signature-256,别让随便一个请求触发你的工作流

本文由 AI 辅助生成,经人工审核编辑。最后更新:2026-07-26

相关文章