いくつかの Webhook を利用すると、Slack をコマンド ラインの通知センターに変えることができます。単純なメッセージ フィードからアプリのカスタム Slack 統合まで、これを使用してできることはたくさんあります。
この種の統合は、RSS フィードの動作と同様に、何かが更新されたときや新しいコンテンツがどこかで公開されたときなど、通知ベースのイベントに特にうまく機能します。同じ API 上で動作する独自のアプリのカスタム統合を作成することもできます。これには、ユーザー入力を取得するための インタラクティブなダイアログやメニュー も含まれます。
Webhook で Slack ボットを使用する
Slack には、ワークスペースとの多くのやり取りを自動化できる API があります。この API には、次のような HTTP リクエストを実行できるどこからでもアクセスできます。
POST
そして
GET
これには、
curl
ユーティリティを使用する bash スクリプトとほとんどのスクリプト言語が含まれます。
curl
ユーティリティは、ほぼすべての Unix ディストリビューションにデフォルトでインストールされており、
Windows では
ダウンロードできます。
この API の一部には、2 つのアプリケーションが相互にメッセージを送信する方法である Webhook が含まれています。 Webhook URL が与えられるので、それを作成できます。
POST
JSON オブジェクト形式のデータを含むリクエスト。たとえば、次のような簡単なメッセージを送信できます。
{"text":"ハロー、ワールド!"}
bash スクリプトはこのデータを Slack に送信し、Slack がそれを読み取って「Hello, World!」を送信します。 Webhook を設定するときに指定したチャネルに送信します。
独自の Slack アプリ を使用する必要があるため、メッセージはボット (カスタマイズ可能) から送信されます。これは実際には良いことです。 Webhook は主に通知に使用され、Webhook 経由で送信されたメッセージは自分のアカウントから送信されないため、この方法で送信されたメッセージについてはプッシュ通知を受け取ります。
同様の方法で自分の Slack アカウントから自動メッセージを送信することもできます。ただし、
as_user
引数を true に設定して
chat.postMessage
API を使用する必要があります。これには、
chat:write:user
権限スコープ
を持つ
OAuth 2.0 トークンが
必要です。これは、API を使用する前に
自分で生成する
必要があります。 Webhook は管理がはるかに簡単であるため、Webhook を使用し続けることをお勧めします。
Webhook を受け入れるように Slack アプリをセットアップする
Slack の API ポータルに移動し、 新しい Slack アプリを作成します 。このアプリにユーザー名を付け、それが属するワークスペースを選択して、「アプリの作成」をクリックします。
ボットに機能を追加できるホームページが表示されます。ここには
カスタム
/commands
や
インタラクティブ メッセージ
などの優れた機能がたくさんありますが、今必要なのは「受信 Webhook」だけです。このボタンをクリックしてオンにします。
メッセージの送信先としてアプリケーションの新しい Webhook を登録する必要があります。この画面の下部にある「新しい Webhook をワークスペースに追加」をクリックします。
アプリケーションを認証し、メッセージのチャネルを選択するように求められます。これらは、パブリック チャネルまたは他のユーザーとのダイレクト メッセージです。両方の DM にボットが表示され、通知が届きます。
異なるチャネルに複数の Webhook を登録できますが、各フックの URL は異なります。
Webhook の URL をコピーし、ターミナルを開きます。以下に貼り付けます:
curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' YOUR_WEBHOOK_URL
YOUR_WEBHOOK_URL
を Slack から提供されたものに置き換えます。 Enter キーを押すと、「Hello, World!」というメッセージが表示されます。通知を選択すると、選択したチャネルで新しいメッセージが表示されます。
この
curl
コマンドは bash スクリプト内から使用でき、
bash 変数
からなど、必要なデータを送信するように JSON オブジェクトを構成できます。
フォーマットされたメッセージと添付ファイルの使用
メッセージ API は、単純なテキストを送信するだけではありません。メッセージをより定型化したい場合は、
curl
が送信する JSON オブジェクトに追加のパラメーターを追加する必要があります。
Slack のメッセージ ボックスと同じように、 マークダウン やその他の単純な書式設定を使用できます。ただし、注意すべき点が 1 つあり、チャネルにリンクしてユーザーに @ を送信するには、プレーンテキスト名ではなくチャネル ID とユーザー ID を指定する必要があり、指定しないと機能しないということです。
それ以外の場合は、Slack の Block Kit Builder を 使用します。Slack メッセージ用の WYSIWYG エディターを使用すると、インタラクティブで豊富な埋め込みコンテンツを作成でき、JSON の作成も処理できます。ボタンやメニューなどの要素は 、指定した URL に POST リクエストを送信するように構成でき、ユーザーはメッセージを送信しているアプリケーションに応答できるようになります。
ただし、古いメソッドが廃止されるわけではないため、ブロック キット ビルダーは完全に必要というわけではありません。 Attachments などの機能だけを使用したい場合は、古い メッセージ ビルダー を使用して JSON を構築してプレビューできます。





