curlコマンドを使用し、Slackへメッセージを送信する方法を紹介します。
Slack APIとは?
Slack APIとは、Slackのサービスをプログラムから利用できるようにするサービスです。Slackへのメッセージ送信のほか、ほかのユーザーが送信したメッセージに自動的に応答したり、さまざまなことが可能になります。
PythonやNode.jsなど、プログラミング環境にあわせたライブラリも提供されており、対応している環境であれば容易にbotなどのプログラムを構築することが可能です。一方、POSTなどのHTTP通信により、ライブラリを使わずにAPIを利用することもできます。
この記事ではSlack APIを利用できるようにする手順から、ライブラリを使わずcurlコマンドだけでメッセージを送信するまでの手順を紹介します。
Incoming Webhook APIを有効にする
まずはSlackのAPIを有効にしましょう。
Slack APIを利用できるようにするには、チャンネルに対応したSlackアプリを作成する必要があります。Slack上にアプリを作成し、そのアプリにAPIを用意することで、プログラムから利用できるようにします。とはいえ、アプリの作成からAPIの有効化まで、すべてブラウザでの操作で完結できますので、それほど気構える必要はありません。
Slack APIにアクセスし、Slackアプリを作成していきます。

[Create an App]をクリックします。

[From scratch]をクリック。

App NameとAPIから利用したいチャンネルを選択し、[Create App]をクリックします。

つづけて、Webhook APIを作成します。
Webhook APIとはPOSTやGETといったhttpsにより、メッセージを送受信することができるAPIです。特別なライブラリなどを使用することなく、httpsさえ利用できればSlackとの連携が可能になります。今回はこちらを使用してみます。
[Incoming Webhooks]をクリックします。

トグルボタンをクリックし、ONにしましょう。

最後にWebhook APIのURLを作成します。
ページ下の[Add New Webhook to workspace]をクリックします。

Slackへのアクセスを求められますので、許可します。

すると、URLが作成されます。

このURLにPOSTすることにより、メッセージを送信することができます。
curlコマンドでメッセージを送信してみよう!
あとは送信するだけです。
curlコマンドを使用し、Slackへメッセージを送信してみましょう。
curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' [WebhookのURL]
Webhook URLにJSONをPOSTします。

Slackのメッセージを確認してみましょう。

ちゃんとメッセージが来ました!
まとめ
いかがでしたか?思ったよりかんたんにメッセージを送ることができました。
特別なライブラリを使用しなくても、POSTするだけでメッセージを送ることができますので、手軽にSlackへ通知することができます。Linuxであればcurlコマンドは最初からインストールされていますので、サーバーからの異常通知などさまざまな応用が考えられます。
また、SlackはAPIドキュメントも充実しています。サンプルコードも多く掲載されていますので、ぜひ読んでみることをおすすめします。なにか発見があるかもしれませんよ~

コメント