什么是 github2slack
github2slack 是一个 npm 包,它可以将 GitHub 上指定仓库的 push,pull request 等事件发送到您的 Slack 频道上。
如何使用 github2slack
- 安装 github2slack
npm install -g github2slack
-g 参数是全局安装,也可以去掉,这样就局部安装在当前项目下。
- 配置 github2slack
在您的项目根目录下创建一个配置文件:github2slack-config.json,将以下配置粘贴到文件中:
{ "slackWebhookUrl": "https://hooks.slack.com/services/TXXXXXXXX/BXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX", "repository": "githubUsername/githubRepositoryName", "events": [ "push", "pull_request" ] }
- slackWebhookUrl: 在 Slack 应用中创建一个 Incoming Webhooks,获取到的地址。
- repository: 您要监听的仓库,填写 "githubUsername/githubRepositoryName"
- events: 您想要监听的事件,如上所示。
- 运行
在命令行中输入以下命令,就可以开始监听来自 GitHub 的事件并发送到 Slack 频道上了。
github2slack
自定义消息格式
默认使用的消息格式如下:
-- -------------------- ---- ------- - -------------- - - ----------- ------- -------- ---------- ---------- ------- -------- ------- ------------- --------------------- --------- - - -------- --------- -------- --------- -------- ---- - -- --------- --------------- -------------- ------------------------------------------------------------------- ----- --------- - - -
如果您想自定义消息格式,可以在配置文件中添加:
"messageFormatter": "Path/To/Formatter"
这里的 "Path/To/Formatter" 就是您自己的格式化器路径(相对于配置文件路径),您需要在该文件中实现一个函数,它会接收事件对象作为参数。
例如:
-- -------------------- ---- ------- -- -------------------- -------------- - --------------- - ------ - ------------ - - --------- ------- ------ ---------- -------- ---- -------------- ----- -- -------------------------- ------ --------------------- ----------- --------------- ------------ ------------------- ------------ ---------------------- ------- - - ------ ------------- ------ ---------------------- ------ ----- -- - ------ --------- ------ ------------------ ------ ----- -- -- ------- --------------- ------------ ------------------------------------------------------------------- --- --------------------- - ------ -- -- - -
示例代码
你可以从 github2slack 的官方示例中了解更多关于如何使用该库的示例代码,它包括了监听所有事件和自定义消息格式的例子。
总结
通过本篇文章,我们了解了 npm 包 github2slack 如何使用以及如何自定义消息格式。它为我们在项目开发过程中提供了一种有效的集成方式,可以让我们更加及时、轻松地了解到来自 GitHub 上仓库的消息。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005728281e8991b448e8b3e