エンジニアライフスタイルブログを運営しているミウラ(@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の取得方法は覚えておくとよいでしょう。