GITHUB-NOTIFIER2024-06-26

通过 Webhook 创建一个 GitHub 通知 Bot

在通过 GitHub 进行团队协作时, 往往会遇到一个严重的问题: 沟通不及时或是错过沟通.

出现这个问题的原因, 主要还是 GitHub 的通知不像平常的社交软件一样有强提醒的作用, 而电子邮箱通知又时常被忽略. 对于远程团队来说, 在 GitHub 上完成某项工作后, 往往需要再次在社交软件上进行沟通, 才能确保信息及时传递.

虽然这个问题很好处理, 但同样的事情总是要做两遍, 个人总是会觉得多少有点麻烦.

举个简单的例子: 假如同事创建了一个 pr, 需要你来 review 一下. 那么按照平常的工作流来说, 同事要首先在 pr 中请求你来 review 代码, 然后因为怕你看不见又再在社交软件上给你发送消息, 还要附上这个 pr 的 url.

为了解决这个问题, 首先需要了解一下 Webhook: 简单来说, 当某个事件发生时, 会发送一个 HTTP 请求, 这个请求包含了关于这个事件的数据.

而飞书可以通过创建 Bot, 调用这个 Bot 的接口从而实现消息的发送.

这样, 一个完整的工作流就可以构建完成:

  1. 在 GitHub 上触发 Webhook
  2. 接收并处理这个 Webhook
  3. 将消息发送给指定用户

如何触发其实并不难, 在 GitHub 上几乎所有的操作都会有 Webhook. 例如: 创建了一个 issue, 编辑了 issue 下的 comment, 删除了一个 branch 等等, 都会触发 Webhook.

个人理解为: 所有涉及到任何数据更改的操作都会触发 Webhook.

至于接收和处理, 接收同样简单, 但处理会很麻烦. 这方面的内容之后再补充.