返回

从Github到企业微信的消息推送:全自动化攻略

前端







## 1. 前言

在现代软件开发中,代码变更、代码发布、PR 审核等事件层出不穷,及时知晓这些事件对于团队协作和项目管理至关重要。然而,传统的通知方式往往效率低下,且容易遗漏重要信息。

本文将向您介绍如何利用云函数作为中间件,建立从 Github 到企业微信的消息推送系统,实现上述事件的实时通知。您将学习到如何:

* 使用云函数接收 Github Webhook 事件
* 解析和处理 Github 事件
* 将事件信息推送到企业微信
* 部署和配置云函数

## 2. 搭建云函数

1. 登录云函数控制台,创建一个新的云函数。
2. 选择函数类型为 HTTP,语言为 Node.js。
3. 复制以下代码并粘贴到函数代码编辑器中:

```javascript
const express = require('express');
const bodyParser = require('body-parser');
const request = require('request');

const app = express();

app.use(bodyParser.json());

app.post('/', (req, res) => {
  if (req.body.ref === 'refs/heads/main') {
    const message = `Github 代码已更新:${req.body.repository.full_name}`;
    sendMessageToWeixin(message);
  }

  res.sendStatus(200);
});

function sendMessageToWeixin(message) {
  const webhookUrl = 'YOUR_WEBHOOK_URL';
  const data = {
    msgtype: 'text',
    text: {
      content: message,
    },
  };

  request.post({
    url: webhookUrl,
    json: data,
  }, (err, res, body) => {
    if (err) {
      console.error(err);
    }
  });
}

module.exports = app;
  1. YOUR_WEBHOOK_URL 替换为您的企业微信机器人 webhook 地址。
  2. 部署云函数。

3. 配置 Github Webhook

  1. 登录 Github,打开您要集成消息推送的仓库。
  2. 点击“Settings” > “Webhooks” > “Add webhook”。
  3. 在“Payload URL”字段中,输入您的云函数 URL。
  4. 在“Content type”字段中,选择“application/json”。
  5. 在“Secret”字段中,输入一个密钥。
  6. 点击“Add webhook”。

4. 测试

  1. 在 Github 仓库中,推送代码到 main 分支。
  2. 在企业微信中,您应该会收到一条来自机器人的消息,通知您代码已更新。

5. 结语

通过本文,您已经成功建立了从 Github 到企业微信的消息推送系统。您现在可以轻松地接收代码变更、代码发布、PR 审核等事件的实时通知,从而提高团队协作效率和透明度。

如果您有任何问题或建议,请随时留言评论。