不早了,快休息吧?

编程开发

关于我在极狐GitLab造机器人这件事儿我觉得很酷

2022年06月24日 14:07:56 · 本文共 807 字阅读时间约 2分钟 · 4,234 次浏览
关于我在极狐GitLab造机器人这件事儿我觉得很酷

我在参与极狐GitLab创作营 JIHULAB 101活动的时候,发现极狐GitLab官方启用了一个机器人,会在issue哪里进行服务,我就突发奇想,很多地方都有自动回复的客服机器人,那在极狐GitLab能不能造个机器人玩?

我发现极狐GitLab官方的机器人并不能做到客服回复的水平:

极狐GitLab机器人

我觉得我可以造一个玩玩,所以,出现了如下的画风:

极狐GitLab客服机器人

机器人思路

首先,本文只讨论在极狐GitLab实现机器人的思路,并不包含NLP自然语言处理和人工智能部分,这部分可以有现成的云服务进行集成,我就不多说了。

一个用户被@以后有没有什么事件或接口呢?找遍API文档,并没有专门的API接口来提供,那我就开始想办法了,怎么才能知道有人@我了呢?

当有人@我以后在我的待办列表里会出现一条数据,这个待办列表是有API接口的,接口地址是:https://jihulab.com/api/v4/todos?state=pending&per_page=100

然后获得待办列表,里面有项目ID、issue的ID、类型等信息,这样我就知道有人@我了,并且知道项目ID、issue的ID、内容,这就好办了。

然后去发生事件的ISSUE接口:https://jihulab.com/api/v4/projects/:id/issues/:issue_iid,就可以进行回复和查看详情了。

回复完以后在待办事件里标记为已完成:https://jihulab.com/api/v4/todos/:id/mark_as_done,这样就算处理完了。

实现步奏

  1. 扫描待办列表:https://jihulab.com/api/v4/todos?state=pending&per_page=100
  2. 获得ISSUE详情:https://jihulab.com/api/v4/projects/:id/issues/:issue_iid
  3. NLP处理内容:自行对接各种机器人接口
  4. 回复ISSUE:https://jihulab.com/api/v4/projects/:id/issues/:issue_iid/notes
  5. 标记已完成:https://jihulab.com/api/v4/todos/:id/mark_as_done

用处

在极狐GitLab拥有自己的客服机器人不是一件很酷的事情吗?

商业用途请联系作者获得授权。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.renfei.net/posts/1003529
评论与留言

以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。

微信搜一搜:任霏博客