エンジニアライフスタイルブログを運営しているミウラ(@miumiu06171)です。
普段はフリーランスでシステムエンジニアをしております。
今回は、外部からSlackチャンネルにメッセージを投稿するためにSlackのWebhook URLを取得する方法と、curlコマンドのPOSTメソッドを使ったメッセージ投稿の動作確認方法をまとめました。
Slackとは
Slackは、ビジネス向けのメッセージアプリの1つで、LINEやSkypeと同じように複数人でメッセージが可能なアプリの1つです。
Webhookとは
Webhookとは、Webアプリケーションでイベントが実行されたとき、外部サービスにHTTPで通知する仕組みのことです。
SlackのWebhook URLを取得すると何ができるか
SlackのWebhook URLを取得すると、指定したSlackチャンネルに外部からメッセージなどを送信できるようになります。

Slackワークスペースを開く
SlackのWebhookを取得するため、まずはワークスペースを開きます。

Slackチャンネルを新規作成
次にSlackのWebhook経由でメッセージを送信するためのSlackチャンネルを作成してみましょう。
下図のようにチャンネルメニューの+ボタンから「チャンネルを作成する」をクリックします。

下図のように「チャンネルを作成する」ダイアログが開くので、名前欄に任意のチャンネル名を入力し、「作成」ボタンをクリックします。
本記事の例では、「test-webhook」というSlackチャンネルを作成します。

Slackチャンネルのメンバーを招待するダイアログが開きますが、今回は「後でする」をクリックします。

すると、下図のように「test-webhook」というSlackチャンネルが作成されていることを確認します。

SlackチャンネルのWebhook URLを取得する方法
前述で作成した「test-webhook」というSlackチャンネルのWebhook URLを取得する方法を紹介します。
まずはSlackを起動した状態でチャンネル名「test-webhook」をクリックし、右上のユーザーアイコンから「環境設定」をクリックします。

下図のように環境設定ダイアログが表示されるので、「連携アカウント」メニューの「アプリ管理ページ」リンクをクリックします。

下図のようにアプリ管理ページが表示されるので、検索ボックスで「incomming」で検索し、「Incomming Webhook」をクリックします。

「Incomming Webhook」のページに遷移するので、「Slackに追加」ボタンをクリックします。

Incomming Webhookを追加すると、下図のような画面になるので、「チャンネルへの投稿」欄でSlackチャンネル名「test-webhook」を選択し、「Incomming Webhookインテグレーションの追加」ボタンをクリックします。

インテグレーションの追加が成功すると、下図のように「test-webhook」チャンネルに対するWebhook URLが発行されます。

上記Webhook URLを使うと、外部からSlackの「test-webhook」チャンネルにメッセージを送れるようになります。
SlackチャンネルのWebhook URLにメッセージ投稿する方法
同ページに下図のような例欄があり、赤枠に示すcurlコマンドのPOSTメソッドを実行すると、「test-webhook」チャンネルにメッセージ送信を試すことができます。

この例欄のcurlコマンドをWindows bashに入力してみましょう。

上記のようにcurlコマンドを実行した結果が「ok」となっていれば、正常にSlackの「test-webhook」チャンネルにメッセージ送信できています。
Slackの画面に戻って「test-webhook」チャンネルを開くと、下図のようにメッセージが届いていることを確認できます。

まとめ
いかがでしたでしょうか。
動作確認として外部からcurlコマンドを実行すると、Slackチャンネルにメッセージ投稿されることを確認しました。
curlコマンド以外にも有名なGitHub等のツールやユーザーアプリケーションとWebhook URLを連携することで、Slackチャンネルにメッセージ投稿することができます。
そのため、開発現場でも多く利用されているので、エンジニアを目指している方はぜひSlackのWebhook URLの取得方法は覚えておくとよいでしょう。