使用自动化 Gmail 通知将 Notion 任务同步到 GitHub Issue - n8n 工作流

使用这个强大的 n8n 工作流,将 Notion 中的功能需求和任务同步到 GitHub 作为 Issue。此自动化流程会更新状态并通过 Gmail 发送关键团队通知。

工作流预览

准备好自动化了吗?

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

适用人群


  • 项目经理和产品负责人: 在 Notion 中管理功能待办列表,但需要在 GitHub 中进行开发跟踪的人员。

  • 开发团队(DevOps): 寻求根据产品规划自动创建 Issue。

  • 自动化专家: 寻找集成多种云服务(Notion、GitHub、Gmail)的稳定 n8n 模板。

  • n8n 用户: 对使用 n8n 的 Switch(切换)和 Aggregate(聚合)节点进行高级流程控制感兴趣的人员。

概览

跨不同工具(如用 Notion 规划、用 GitHub 编码)管理开发生命周期,通常会导致同步缺失和手动数据录入。这个专业的 n8n 工作流通过提供统一的自动化层来解决这个问题。

这个 n8n 模板确保 Notion 中标记为‘待开发’的每一项新功能需求,都会立即在目标 GitHub 仓库中生成一个新 Issue。此外,当任务被标记为‘完成’时,系统会主动通过 Gmail 提醒相关团队成员。利用核心 n8n 节点系统的强大功能,此自动化流程保证了数据一致性和及时的沟通,使这个 n8n 工作流成为高效项目执行的必备工具。

工作原理

这个完整的 n8n 工作流基于定时任务运行,系统性地检查更新并通过两条不同的路径路由数据:


  1. 定时检查(n8n 触发器): 配置为定时触发器的 n8n 触发器每 12 小时(可配置)启动一次流程,检查 Notion 中的更新。

  2. Notion 数据获取: Notion n8n 节点从指定的‘功能跟踪器 (Feature Tracker)’数据库中获取所有页面。

  3. 数据结构化: 一个名为‘整理 Issue 字段 (Sort Issues Fields)’的 Set n8n 节点,从通常复杂的 Notion 结构中提取关键属性(标题、描述、状态、仓库),为 GitHub 做准备。

  4. 状态路由(Switch n8n 节点): 流程随后进入一个关键的 Switch n8n 节点,该节点检查项目的 Status(状态)字段:

路径 A(待开发): 如果状态是‘待开发’,则将项目路由到 GitHub 创建流程。
路径 B(完成): 如果状态是‘完成’(或根据配置的其他状态),则将项目路由到通知流程。

  1. 路径 A:GitHub Issue 创建: GitHub n8n 节点使用结构化数据创建一个新的 Issue。紧接着,第二个 Notion n8n 节点更新原始数据库页面,将状态更改为‘进行中’并保存新创建的 GitHub Issue 的 URL。

  2. 路径 B:团队通知: n8n 工作流首先使用 Notion n8n 节点获取所有活跃用户。然后,它使用 Exclude Bot Switch(排除机器人切换)n8n 节点映射他们的详细信息并过滤掉机器人账户。一个 Aggregate(聚合)n8n 节点随后将所有有效的电子邮件地址分组。最后,Gmail n8n 节点向所有收件人发送一条通知,告知他们目标仓库中指定的 Issue 已关闭/完成。这种对 n8n 节点结构的先进使用确保了准确和集中的提醒。

安装指南

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


  1. 导入 n8n 工作流: 复制提供的 JSON 代码,使用 n8n 实例中的‘新建’ -> ‘从 JSON 导入’选项粘贴进去。

  2. Notion 凭证: 为 Notion n8n 节点实例设置凭证。你需要一个有权访问目标数据库(‘功能跟踪器’)的 Notion API 令牌。

  3. GitHub 凭证: 为 GitHub n8n 节点配置 OAuth2 凭证,确保该账户对 Notion 跟踪器中定义的仓库具有写入权限。

  4. Gmail 凭证: 为 Gmail n8n 节点设置 OAuth2 凭证,允许 n8n 代您发送邮件。

  5. 配置参数: 仔细检查‘获取多个数据库页面 (Get many database pages)’n8n 节点的配置,确保选择了正确的 Notion 数据库 ID。

  6. 激活: 一旦所有凭证和参数设置完毕,将 n8n 工作流切换为‘激活 (Active)’以启用定时触发器。您的自动化现在将按计划运行。

节点详情

定时触发器 (Schedule Trigger) (n8n 触发器): 这个初始 n8n 节点会定期(每 12 小时)执行工作流,以检查更新。
获取多个数据库页面 (Get many database pages) (Notion n8n 节点): 从配置的 Notion 数据库(‘功能跟踪器’)中获取所有项目。
整理 Issue 字段 (Sort Issues Fields) (Set n8n 节点): 将复杂的 Notion 属性转换并准备成简单的键值对(标题、描述、仓库),供后续的 GitHub n8n 节点使用。
切换 (Switch) (n8n 节点): 核心流程控制机制,根据‘状态 (Status)’属性(例如‘待开发’与‘完成’)路由项目。
创建 Issue (Create an issue) (GitHub n8n 节点): 使用从 n8n 工作流项映射的数据动态地在 GitHub 上创建一个新的 Issue。
设置状态和 Issue URL (Set Status and Issue URL) (Notion n8n 节点): 将 Notion 数据库页面的状态更新为‘进行中’,并保存 GitHub n8n 节点返回的链接 (html_url)。
获取多个用户 (Get many users) (Notion n8n 节点): 检索 Notion 中所有可用用户的列表,用于通知目的。
映射 Notion 用户 (Map Notion Users) (Set n8n 节点): 结构化用户数据,以分离出姓名、电子邮件和类型字段。
排除机器人 (Exclude Bot) (Switch n8n 节点): 过滤用户列表,确保只有 person(个人)类型的账户被发送通知,避免向机器人地址发送邮件。
聚合收件人 (Group Recipients) (Aggregate n8n 节点): 将所有单独的电子邮件合并到一个数组中,以便通过 Gmail n8n 节点高效发送。


  • 发送消息 (Send a message) (Gmail n8n 节点): 向聚合后的收件人发送最终的通知邮件,确认 n8n 工作流中提到的 Issue 已被标记为关闭/完成。

相关 n8n 工作流

免费

节点: 8 节点
更新时间: 2025年12月26日
创建者
Fady Bekkar
Fady Bekkar

精选*