
## 概述
GitHub 赏金追踪器是一个基于 n8n 的自动化工作流,专门用于监控 GitHub 平台上带有赏金标签的开源项目问题。该系统能够自动发现新的赏金机会,并通过邮件通知用户,同时持续跟踪现有赏金的状态变化。
## 核心功能
### 1. 新赏金发现系统
– **触发机制**:每小时运行一次的定时触发器
– **数据源**:通过 GitHub Search API 搜索带有 “💎 Bounty” 标签的开放问题
– **分页处理**:支持每页 100 条记录的分页查询
– **数据拆分**:将批量结果转换为独立的处理项
### 2. 数据去重与筛选
– **数据合并**:将 GitHub API 结果与 Google Sheets 中的现有记录进行比对
– **智能过滤**:仅保留不在现有记录中的新赏金问题
– **条件筛选**:基于问题标题进行精确匹配
### 3. 数据存储与管理
– **主记录表 (Sheet1)**:存储所有赏金问题的完整信息
– 问题编号、标题、URL、状态
– 仓库信息、创建时间、更新时间
– 问题状态和评论数量
– **通知记录表 (Sheet2)**:专门用于管理通知逻辑
– 仅包含最近 5 天内创建的赏金
– 避免重复发送通知
– 跟踪赏金金额信息
### 4. 智能通知系统
– **时间窗口过滤**:仅对 5 天内创建的赏金发送通知
– **重复检查**:确保同一赏金不会重复通知
– **邮件模板**:使用专业的 HTML 邮件模板,包含:
– GitHub 风格的设计界面
– 赏金详细信息展示
– 直接访问链接
– 状态指示器(开放/关闭)
### 5. 状态更新系统
– **定期检查**:每 6 小时运行一次的独立工作流
– **实时同步**:从 GitHub API 获取最新状态信息
– **变更检测**:自动识别状态变化和评论数量更新
– **数据更新**:及时更新 Google Sheets 中的记录
## 技术架构
### 主要节点组件
– **Schedule Trigger**:定时触发器,控制工作流执行频率
– **HTTP Request**:GitHub API 调用,获取赏金数据
– **Google Sheets**:数据存储和管理节点
– **Filter**:数据筛选和条件判断
– **Merge**:数据合并和比对
– **Split Out**:数据拆分处理
– **HTML**:邮件模板生成
– **Gmail**:邮件发送服务
### 数据处理流程
1. **数据采集** → GitHub API 搜索赏金问题
2. **数据转换** → 批量结果拆分为独立项
3. **数据比对** → 与现有记录进行合并分析
4. **数据筛选** → 过滤出真正的新赏金
5. **数据存储** → 保存到 Google Sheets
6. **通知判断** → 基于时间窗口和重复检查
7. **邮件发送** → 生成并发送专业通知邮件
## 应用场景
### 开源贡献者
– 及时获取新的赏金机会通知
– 跟踪感兴趣的赏金状态变化
– 提高参与开源项目的效率
### 项目维护者
– 监控项目中的赏金问题
– 了解社区参与情况
– 管理赏金分配和完成状态
### 技术社区管理者
– 建立系统的赏金追踪机制
– 提供自动化的通知服务
– 促进开源社区的活跃度
## 配置要求
### 必需账户
– GitHub 账户(用于 API 访问)
– Google 账户(用于 Google Sheets 和 Gmail)
– n8n 平台访问权限
### 技术前提
– 基本的 n8n 工作流知识
– API 调用和数据处理理解
– Google Sheets 操作经验
## 安全考虑
– 所有凭证通过 n8n 凭证系统安全存储
– Google Sheets 文档权限需要适当配置
– GitHub API 使用个人访问令牌
– 邮件发送遵循 Gmail 安全策略
这个工作流为开源社区提供了一个完整的赏金管理解决方案,通过自动化处理减少了人工监控的工作量,同时确保了信息的及时性和准确性。

评论(0)