Go to file
youngll b3ce5a705a 完成该项目初步介绍 2024-02-14 19:20:09 +08:00
Utils 更改 2024-02-14 18:11:52 +08:00
config 更改 2024-02-14 18:11:52 +08:00
controllers 初步 2024-02-14 15:07:29 +08:00
db 完成了issue状态更新 2024-01-20 16:53:40 +08:00
service 初步 2024-02-14 15:07:29 +08:00
bot.log 更改 2024-02-14 18:11:52 +08:00
main.py 初步 2024-02-14 15:07:29 +08:00
readme.md 完成该项目初步介绍 2024-02-14 19:20:09 +08:00

readme.md

BOT目标

监控项目中的 Issue 并确保参与者得到及时回应和关注这个Bot可以帮助项目团队更好地管理Issue确保及时回应和解决问题。通过自动提醒和激励它有助于保持开发社区的活跃度并鼓励参与者积极参与讨论和解决问题从而提升项目的质量和开发效率。

BOT功能

  1. Issue 跟踪与监控Bot将持续监控项目中创建的Issue并跟踪它们的状态和活跃度。
  2. 不活跃 Issue 发现:当某个 Issue 长时间未得到回应或者处于不活跃状态时Bot将识别这些情况。
  3. 自动评论与提醒Bot会在对应的不活跃的 Issue 页面进行自动评论,提醒相关团队成员或项目核心开发者关注这个不活跃的 Issue并鼓励他们提供反馈或解决方案。
  4. 定期提醒与激励:如果 Issue 仍然处于不活跃状态Bot会定期通过邮件向各位参与该项目的开发人员发送提醒消息鼓励团队成员参与讨论、提供帮助或解决问题。
  5. 关注度分析与统计Bot能够收集并分析 Issue 的响应时间、解决率等数据,为项目团队提供洞察,并可能展示在指定的仪表盘上。
  6. 定制设置与扩展功能:允许设置 Issue 不活跃的时间阈值,同时还可以扩展功能以适应特定项目的需求。

监控issue所要执行的具体操作

issue中被监控的属性

检测issue的相关信息发现应监控的属性包括如下

  • 自定义的状态信息(1 表示该 Issue 已完成 2 表示该 Issue 未处理)
  • 标题
  • 状态
  • 负责人
  • 优先级
  • 标记
  • 里程碑
  • 关联分支
  • 创建时间
  • 评论

监控issue的人员

我们将监控issue的人员定为在该项目中的成员项目开发人员--包括管理员 开发者 报告者 暂定监控issue的人员为youngllSongJieyahoo,LZHty666 issue定义的负责人

定义issue不活跃的条件

  • issue存在
  • 状态需要满足“正在解决”或“新增”
  • 当前时间距离上次更新时间超过两小时

反馈给开发人员的方法

在issue中进行自动评论提醒邮箱反馈暂定微信发送消息提醒

BOT自动提出解决不活跃 Issue 的方法

展示关注度的方式以及仪表盘的设计

定义对 Issue 进行操作的行为

如果最近有项目开发人员对该 Issue 进行了这些行为,则认为该其不属于不活跃状态

  • 项目开发人员进行评论√
  • 项目开发人员对评论进行删除、修改和回复操作√
  • 项目开发人员对该issue进行了修改标题和描述这一操作√
  • 项目开发人员删除了该issue--无法webhookissue一般不会被删除
  • 项目开发人员进行声明--无法webhook更改声明也无法webhook取消声明也无法webhook
  • 项目开发人员修改了负责人√
  • 项目开发人员修改了状态√
  • 项目开发人员修改了优先级√
  • 项目开发人员修改了标记√
  • 项目开发人员修改了里程碑√
  • 项目开发人员修改了关联分支若该issue有对应的关联分支则会查看该分支最新提交时间来判断该issue的活跃状态
  • 项目开发人员修改了开始日期√
  • 项目开发人员修改了结束日期√

测试关联Issue

暂无法解决关联issue的问题

目前阶段

已完成基本功能

开发遇到困难

  • 不能找到webhook能发送的合适url目前使用ngrok进行url对接
  • https的配置出现问题因此使用http未能保证webhook传递信息的安全
  • 在github和gitee仓库中issue的操作日志可以记录pr分支关联操作该操作也可视作对该issue进行了处理但在gitlink中未找到关联方法因此对issue的操作中考虑不了pr分支关联处理
  • 对commons中authUtil和config中botConfig以及jobs中tasks的执行功能不明确
  • gitlink中API文档未提供登录因此无法通过apiutil中的login_post获得开发人员的token运行该bot需要将开发人员保持登陆状态并修改config中的cookies

之后计划

  • 加入邮箱通知功能,通过邮箱发送通知开发人员
  • 加入接口能智能化回答issue中的问题并提供解决方案

相关资料