基于命令的 GitHub Issue 自动指派 - n8n 工作流

使用“assign me”等评论命令,实现 GitHub Issue 指派分流的自动化。这个 n8n 工作流利用条件逻辑和 GitHub n8n 触发器来高效管理指派任务。

工作流预览

准备好自动化了吗?

下载此 n8n 工作流模板并立即开始使用。

适用人群

开发团队: 旨在精简其 Issue 分派整理流程。
开源项目维护者: 希望为主动请缨的贡献者实现自动化指派。
n8n 自动化专家: 对在 n8n 工作流中使用复杂的条件路由感兴趣。
DevOps 专业人员: 需要可靠的、基于命令的 GitHub 交互方式。

概览

管理海量 GitHub 仓库中的指派任务非常耗时。这个稳健的 n8n 工作流通过允许用户只需在初始 Issue 正文或后续评论中输入“assign me”这样的命令即可自行指派,从而解决了这个问题。底层的 n8n 逻辑确保只有在 Issue 当前无人指派时才会进行指派,避免了冲突。如果用户试图认领一个已经被指派的 Issue,自动化系统会回复一条有用的评论,确保透明度。这个特定的 n8n 模板实现展示了强大的流程控制能力,并简化了开发任务的协调工作。

工作原理

整个流程从配置为监听新 Issue(issues 事件)或新评论(issue_comment 事件)的 'Github Trigger1' n8n 触发器开始。


  1. 触发与路由: 当事件发生时,数据进入 n8n 工作流。'Switch' n8n 节点分析事件动作(例如,Issue 的 'opened' 或评论的 'created')。

  2. 新 Issue 指派: 如果动作是 'opened',流程转到 'IF no assignee?'。这个条件 n8n 节点检查 Issue 是否无人指派 AND Issue 正文是否包含 'assign me'。如果都为真,'Assign Issue Creator' n8n 节点会将 Issue 指派给创建者并应用一个 'assigned' 标签。

  3. 评论指派尝试: 如果动作是 'created'(新评论),流程转到 'IF wants to work?'。这个 n8n 节点检查评论正文是否包含 'assign me'。

  4. 冲突检查: 如果评论中包含指派短语,流程会进入 'IF not assigned?'。这个条件 n8n 节点会检查当前的指派状态。

  5. 指派或通知: 如果 Issue 无人指派,'Assign Commenter' n8n 节点会将 Issue 指派给评论者。如果 Issue 已经被指派,'Add Comment' n8n 节点会自动回复一条通知,告知评论者该 Issue 已被认领,并提及当前指派人。所有其他不匹配的事件或动作都会导向一个 'No Operation, do nothing' 的 n8n 节点,从而优雅地终止该执行路径。

安装指南

要部署这个强大的 n8n 工作流,请遵循以下步骤:


  1. 导入: 复制提供的 JSON 代码,通过工作流菜单中选择“新建”和“从 JSON 导入”直接导入到您的 n8n 实例中。

  2. GitHub 凭证: 您需要在 n8n 中设置有效的 GitHub OAuth2 凭证。确保这些凭证已链接到以下 n8n 节点组件:'Github Trigger1'、'Assign Issue Creator'、'Add Comment' 和 'Assign Commenter'。

  3. 配置触发器: 在 'Github Trigger1' n8n 触发器节点中,将 [username][reponame] 替换为您希望监控的实际所有者和仓库名称。

  4. 激活: 配置好凭证和仓库详情后,通过将开关切换到“Active”来激活 n8n 工作流。

  5. Webhook 设置: 如果使用自托管的 n8n 实例,请确保在仓库设置中正确配置了 GitHub Webhook URL,使其指向您的 n8n 触发器端点。

节点详情

这个 n8n 模板的逻辑依赖于几个关键的 n8n 节点组件:

Github Trigger1 (n8n 触发器): 入口点。监听 issue_commentissues 事件,确保新 Issue 和后续评论都能激活 n8n 工作流。
Switch (n8n 节点): 根据事件动作('opened' 对比 'created')来路由执行流程,定义了 n8n 工作流的核心路径。
IF no assignee? (n8n 节点): 一个条件逻辑 n8n 节点,用于检查新 Issue 的两个关键参数:Issue 是否没有指派人 (assignees.length 等于 0) 并且 Issue 正文是否匹配正则表达式命令 /assign me/gm
Assign Issue Creator (GitHub n8n 节点): 用于将 Issue 指派给创建它的 user.login,并应用 'assigned' 标签。
IF wants to work? (n8n 节点): 在继续执行前,检查评论中是否包含正则表达式命令 /assign me/gm
IF not assigned? (n8n 节点): 对基于评论的指派尝试执行最终检查,以确保 Issue 尚未被指派。
Assign Commenter (GitHub n8n 节点): 将 Issue 指派给请求指派的评论者,成功利用了这个 n8n 工作流的功能。
Add Comment (GitHub n8n 节点): 在检测到指派冲突时执行,回复一条有用的通知到 GitHub Issue 中。

相关 n8n 工作流

免费

节点: 6 节点
更新时间: 2025年12月26日
创建者
Roshan Ramani
Roshan Ramani

精选*