npm 包 @slack/webhook 使用教程详解

阅读时长 4 分钟读完

在现代前端技术中,Slack 成为了最流行的企业协作工具,为了将你的应用程序集成到 Slack,你需要学习如何使用 Slack 的 webhook API。 在本文中,我们将介绍如何使用 npm 包 @slack/webhook 来将消息从你的应用程序发送到 Slack 频道。

Slack webhook

Slack webhook 是一种 API,它允许应用程序将消息发布到 Slack 频道中。您需要在 Slack 中创建一个 incoming webhook,使用 webhook URL 来发布消息。

添加 Incoming Webhook

  1. 进入 Slack 工作区,选择 Settings & Administration, 再选择 Manage apps.
  2. 点击 Custom Integrations.
  3. 找到 Incoming WebHooks,选择 Add configuration.
  4. 确定要将 WebHook 添加到那个频道中,单击 Add Incoming WebHooks integration.
  5. 在 web 钩子设置页面中,单击 Copy Webhook URL 以复制 Webhook URL。

安装 @slack/webhook

使用 npm 包管理工具安装 @slack/webhook

发送消息到 Slack

引入 @slack/webhook之后,通过 Incoming Webhook的 URL、用来发送的数据构成的 Payload format和其他一些可配置的属性,我们可以轻松地将消息发送到一个 Slack 频道。

-- -------------------- ---- -------
----- --------------- - ------------------------------------------

----- --- - -----------------------------------------------------------------

----- ------- - --- ---------------------

--------------
    ----- ------ -------
--
    -------------------------- ------ ---------------
    ----------------------

运行上述代码,我们可以看到,一条消息成功发送到 Slack 频道中。

通过上述代码,我们还可以了解到,@slack/webhook 提供构造函数 IncomingWebhook(url: string, options?: IncomingWebhookSendArguments),你可以通过 options 属性变更传输数据的格式和其他属性。

-- -------------------- ---- -------
---
----- ------- - --- -------------------- -
    --------- ---------
    --------- -------------------------------
    -------- ------
---

--------------
    ----- -------------
    ------------ -
        -
            ------ ----------
            -------- ------------
            ------------ ----- -----
            ------------ ----------------------------------------
            ------ ---------
            ----- ------
        --
        -
            --------- --------------------
            -------- -----------
            ------ ------------
            ----- ------
        -
    -
---
---

------------- ---- --------------------------------------------------------------------------------------

-- --

------- -------- ------- - ---- -------------- -------------- ----------------------------

- ------------------------------------------------------------ --------
------------------------------------------------------------------------------------