OOZOU
お問い合わせ
TIL一覧に戻る
shell

cURLでSlackにメッセージを送信する

2020年10月13日

Slackでは、Webhooksサービス経由でメッセージを送信できます

任意のチャンネルに対してWebhookを作成すれば、curlで通知を送信できます。

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

Incoming Webhookの設定

Incoming Webhookは、アプリからSlackにメッセージを投稿するシンプルな方法です。Incoming Webhookを設定するには、Slackアプリを作成し、アプリ設定でIncoming Webhookを有効にする必要があります。設定手順は次のとおりです。

  1. Slackアカウントにログインし、Slack APIのメインページに移動します。
  2. 「Create an app」ボタンをクリックし、「From scratch」を選択します。
  3. アプリの名前を入力し、デプロイ先のワークスペースを選択します。
  4. 「Create App」ボタンをクリックします。
  5. アプリ設定の「Features」セクションに移動し、「Incoming Webhooks」をクリックします。
  6. スイッチを切り替えてIncoming Webhookを有効にします。
  7. 「Add New Webhook to Workspace」ボタンをクリックします。
  8. メッセージを投稿したいチャンネルを選択し、「Allow」をクリックします。

以上の手順で、Slackアプリを作成してIncoming Webhookを設定し、選んだチャンネルへのメッセージ送信を始められます。

ペイロードの作成

Incoming Webhook経由でメッセージを送信するには、メッセージテキストといくつかのオプションを含むペイロードを作成する必要があります。ペイロードの作成方法は次のとおりです。

  1. ペイロードのコンテンツタイプを決めます。Incoming Webhookの場合、コンテンツタイプは常に「application/json」です。
  2. メッセージテキストと、含めたい追加オプションを持つJSONオブジェクトを作成します。例: 1.
{ "text": "Hello, Slack!", "username": "WebhookBot", "icon_emoji": ":ghost:" }
  1. curlなどのツールを使って、Incoming WebhookのURLにペイロードを送信します。

正しくフォーマットされたJSONペイロードを作成することで、メッセージがIncoming Webhook経由でSlackに確実に送信されるようにできます。

cURLでメッセージを送信する

cURLは、Incoming Webhook経由でSlackにメッセージを送信するのに使えるコマンドラインツールです。cURLでメッセージを送信する例を示します。

  1. ターミナルを開き、メッセージを送信したいディレクトリに移動します
  2. ペイロードを含む .json 拡張子のファイルを作成します。たとえば、次の内容で message.json という名前のファイルを作成します。 1.
{ "text": "Hello, World!" }
  1. cURLコマンドを使って、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 Webhookのテストやトラブルシューティングでは、HTTPステータスコードとレスポンスボディでエラーを確認することが重要です。よくあるエラーは次のとおりです。

  • HTTP 400 Bad Request:ペイロードの形式が不正か、必須フィールドが欠けています。
  • HTTP 403 Forbidden:Incoming WebhookのURLが無効か、利用できなくなっています。
  • HTTP 404 Not Found:チャンネルまたはワークスペースが存在しません。

問題を調査するには、cURLなどのツールでテスト用のペイロードを送信し、レスポンスを確認します。また、エラーコードやトラブルシューティングの詳細については、Slack APIのドキュメントも参照できます。

高度なSlack連携

Incoming WebhookはSlackと連携する方法のひとつにすぎません。より高度な連携には、Slack APIを使ってメッセージの送受信やカスタムボットの作成などができます。高度なSlack連携の機能をいくつか紹介します。

  • Web API:Slack Web APIを使うと、メッセージの送受信やカスタムボットの作成などができます。
  • Events API:Slack Events APIを使うと、メッセージやリアクションなどのイベントの更新をリアルタイムで受け取れます。
  • Botkit:BotkitはSlack上でカスタムボットを構築するためのフレームワークです。

これらの高度な機能を使えば、Slackとのより洗練された連携を構築し、ワークフローの自動化やユーザー体験の向上などが実現できます。

「shell」の関連記事

shell2020年12月8日

BashとZshでシークレット(プライベート)なコマンドを実行する

コマンドの前にスペースを1つ入れるだけで、~/.bash\_history に保存されなくなります。例: qrencode -o out.png "Some secret text"

shell2020年10月22日

Homebrewでpostgresデータベースをアップグレードする

postgresをアップグレードするには次を実行します

shell2020年10月13日

Amazon AWS S3 CLI で権限を指定してコピーする

term (または同等のターミナル) を開き、次を貼り付けます:

プロジェクトをお考えですか?

あなたが構築しているものについてお聞かせください。

会話を始めるhello@oozou.com
OOZOU Logo

バンコク · シンガポール · 香港

X
Facebook
Instagram
LinkedIn

サービス

  • Web開発
  • AIエージェント & 生成AI
  • モバイルアプリ開発
  • データ分析 & エンジニアリング
  • UI/UX & プロダクトデザイン
  • デジタルトランスフォーメーション

会社情報

  • 会社概要
  • 採用情報
  • ブログ
  • 事例研究
  • Today I Learned
  • お問い合わせ

その他

  • 業界
  • パートナーネットワーク
© 2026 OOZOU. 無断転載を禁じます。
プライバシーポリシー行動規範ABACポリシー