OOZOU
与我们联系
返回 TIL 列表
shell

用 cURL 发送消息到 Slack

October 13, 2020

Slack 允许你通过 Webhooks 服务发送消息

为任何一个 channel 创建 webhook 之后,就可以用 curl 发送通知。

$ curl -X POST -H 'Content-type: application/json' --data '{"text": "Something important"}'  https://hooks.slack.com/services/YOUR/TOKENIZED/URL

设置 Incoming Webhooks

Incoming webhook 是从应用发送消息到 Slack 的简单方式。要设置 incoming webhook,你需要创建一个 Slack app,并在 app 设置中启用 incoming webhooks。以下是设置 incoming webhooks 的逐步指南:

  1. 登录你的 Slack 账号,前往 Slack API 主页面。
  2. 点击“Create an app”按钮,选择“From scratch”。
  3. 输入 app 的名称,并选择你要部署的 workspace。
  4. 点击“Create App”按钮。
  5. 在 app 设置中,前往“Features”区块并点击“Incoming Webhooks”。
  6. 切换开关以启用 incoming webhooks。
  7. 点击“Add New Webhook to Workspace”按钮。
  8. 选择你想发送消息的 channel,然后点击“Allow”。

照着这些步骤操作,你就能创建 Slack app 并设置 incoming webhook,开始发送消息到你选择的 channel。

创建 Payload

要通过 incoming webhook 发送消息,你需要创建一个包含消息文字和一些选项的 payload。创建 payload 的方法如下:

  1. 决定 payload 的 content type。对 incoming webhooks 来说,content type 一律是“application/json”。
  2. 创建一个 JSON 对象,包含消息文字和任何你想加入的额外选项。例如: 1.
{ "text": "Hello, Slack!", "username": "WebhookBot", "icon_emoji": ":ghost:" }
  1. 使用 curl 之类的工具把 payload 送到 incoming webhook 的 URL。

只要创建格式正确的 JSON payload,就能确保你的消息通过 incoming webhook 正确送达 Slack。

用 cURL 发送消息

cURL 是一个命令行工具,可以用来通过 incoming webhook 发送消息到 Slack。以下是用 cURL 发送消息的示例:

  1. 打开终端,切换到你想发送消息的目录
  2. 创建一个扩展名为 .json、内容为 payload 的文件。例如,创建一个名为 message.json 的文件,内容如下: 1.
{ "text": "Hello, World!" }
  1. 使用 cURL 命令把 payload 送到 incoming webhook 的 URL: 1.
curl -X POST -H 'Content-Type: application/json' --data @message.json https://hooks.slack.com/services/YOUR/TOKENIZED/URL

照着这些步骤操作,你就能用 cURL 通过 incoming webhook 发送消息到 Slack。

测试与故障排查

测试和排查 incoming webhooks 的问题时,务必检查 HTTP 状态码和 response body 有没有错误。以下是几个你可能遇到的常见错误:

  • HTTP 400 Bad Request:payload 格式错误或缺少必要字段。
  • HTTP 403 Forbidden:incoming webhook 的 URL 无效或已失效。
  • HTTP 404 Not Found:channel 或 workspace 不存在。

要排查问题,你可以用 cURL 之类的工具发送测试 payload 并检查响应。此外,也可以查阅 Slack API 文档,获取更多关于错误码和故障排查的信息。

高级 Slack 集成

Incoming webhooks 只是集成 Slack 的其中一种方式。若要做更高级的集成,你可以使用 Slack API 来收发消息、创建自定义 bot 等等。以下是一些高级的 Slack 集成功能:

  • Web API:Slack Web API 让你可以收发消息、创建自定义 bot 等等。
  • Events API:Slack Events API 让你可以实时接收消息、表情符号回应等事件的更新。
  • Botkit:Botkit 是一个在 Slack 上打造自定义 bot 的框架。

善用这些高级功能,你就能打造更精致的 Slack 集成,进而自动化工作流程、提升用户体验等等。

更多关于 shell 的笔记

shellDecember 8, 2020

在 Bash 和 Zsh 运行无痕/私密命令

只要在命令前面加一个空格,它就不会被存进 ~/.bash\_history。例如 qrencode -o out.png "Some secret text"

shellOctober 22, 2020

用 homebrew 升级 postgres 数据库

要升级 postgres,可以运行

shellOctober 13, 2020

用 Amazon AWS S3 CLI 复制文件并设置权限

打开 term(或同类终端)并粘贴下面的内容:

有项目想法吗?

我们很想听听您正在做的产品。

开始对话hello@oozou.com
OOZOU Logo

曼谷 · 新加坡 · 香港

X
Facebook
Instagram
LinkedIn
OOZOU Co., Ltd.
548 One City Centre
Ploenchit Road
Bangkok 10330
Thailand
+66 2544 0000
hello@oozou.com

服务

  • Web 开发
  • AI 智能体与生成式 AI
  • 移动应用开发
  • 数据分析与工程
  • UI/UX 与产品设计
  • 数字化转型

公司

  • 关于我们
  • 加入我们
  • 博客
  • 案例研究
  • Today I Learned
  • 联系我们

更多

  • 行业
  • 合作伙伴网络
© 2026 OOZOU. 版权所有。
隐私政策行为准则反贿赂反贪腐政策