介绍
@viddsee/hubot-github-webhook-listener 是一个基于 hubot 的 npm 包,用于监听 GitHub Webhooks,并以用户指定的方式进行响应。这个 npm 包提供了多种响应方式,包括自定义 shell 命令、调用 API 等。本文将详细介绍如何使用该 npm 包,并提供相关示例代码。
安装
npm i @viddsee/hubot-github-webhook-listener --save
使用
- 首先在 GitHub 上设置 Webhook。
- 在 hubot 的配置文件中引入 @viddsee/hubot-github-webhook-listener 模块。
- 配置 @viddsee/hubot-github-webhook-listener 模块。
- 编写处理 Webhook 的代码。
配置
hubot 的配置文件通常是一个 .env 文件,其中定义了一些环境变量和配置参数。具体配置可参考 @viddsee/hubot-github-webhook-listener 的文档。
处理 Webhook 的代码
@viddsee/hubot-github-webhook-listener 提供了多个响应方式,我们可以根据自己的需求进行选择。
自定义 shell 命令
如果我们需要在收到 Webhook 后执行一些 shell 命令,可以使用自定义 shell 命令的方式。
-- -------------------- ---- ------- ----- --------------------- - -------------------------------------------------- ------------------------------------------- - ---------- ------------------ ------- --------- -------------- - ------- ---- ---- -- --- ------- -- --- --- ----- -- --- ------- ----- -- ---
上面的代码中,我们监听了 push 事件,如果收到 push 事件,并且提交分支为 master,那么将执行 git pull、npm install、npm run build 和 pm2 restart all 这几个 shell 命令。
调用 API
如果我们需要在收到 Webhook 后调用某个 API,可以使用调用 API 的方式。
-- -------------------- ---- ------- ----- ------- - ------------------- ----- --------------------- - -------------------------------------------------- ------------------------------------------- - ---------- ------------------ ------- --------- --------- - ------- - - ---- ------------------------------------- ------- ------- ----- - --------- - -- -- -- -- ---
上面的代码中,我们监听了 push 事件,如果收到 push 事件,并且提交分支为 master,那么将发送一条 POST 请求到 https://www.example.com/api/reload 地址,并且请求体为 { someData: 1 }。
总结
本文介绍了如何使用 @viddsee/hubot-github-webhook-listener 这个 npm 包,并提供了具体的示例代码。使用该 npm 包可以方便地监听 GitHub Webhooks,并进行相应的处理。我们可以根据自己的需求选择适合自己的响应方式。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562bc81e8991b448dffd1