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

服務

  • Web 開發
  • AI 代理人與生成式 AI
  • 行動應用開發
  • 數據分析與工程
  • UI/UX 與產品設計
  • 數位轉型

公司

  • 關於我們
  • 職涯
  • 部落格
  • 案例研究
  • Today I Learned
  • 聯繫我們

更多

  • 產業
  • 合作夥伴網絡
© 2026 OOZOU. 版權所有。
隱私政策行為準則反賄賂反貪腐政策