bashを用いてSlackへメッセージを投稿する

という処理を実現するためにIncoming Webhooksという機能を使うようである。作業の大筋はこういう具合である。

  • Slackアプリを作成
  • Incoming Webhooksを有効にセット
  • ワークスペースへのアクセス許可を付与
  • 動作確認

Slackアプリを作成

まずナイスな緑のボタンをクリックすることでSlackアプリを作成するページへアクセスする。アプリに名を与え、活躍の場となるワークスペースを選択する。アプリ名はのちの変更が許されているから、命名に何時間もかける作業を先送りにできる。ワークスペースはあとから変更が効かないから勢い慎重にならざるを得ない。

Incoming Webhooksを有効にセット

アプリをこしらえるとBasic Informationのページへと遷移する。そうしたら「Add features and functionality」の中にある「Incoming Webhooks」をクリックする。ここにIncoming Webhooksを有効にするスイッチがあるから此れをクリックしてOnへと変更するのである。

ワークスペースへのアクセス許可を付与

Incoming Webhooksが有効にセットされるとページの下部にcurlのサンプルコマンドなどが現れる。此処で「Add New Webhook to Workspace」ボタンをクリックすると、アプリに対してワークスペースへのアクセス権限を許可する画面へと移るから投稿先のチャンネルを選択して「許可する」ボタンをクリックする。

此れによって遂に具体的なWebhook URLが誂えられる。Webhook URLは余所の人の悪用を避けるために内緒にせねばならない。あとはこのURLに対してJSON形式でメッセージをPOSTすることでSlackにメッセージを投げつけられるようになる。curlコマンドによるサンプルもこしらえてくれるから気軽に動作確認もおこなえる。

動作確認

サンプルのcurlコマンドを実行して、設定したワークスペースのチャンネルに対してメッセージが正常に投げかけられたら「ok」と表示される。スマートフォンにSlackを導入して良しなに設定を施してあれば通知もやってくる。

通知がやって来ないときはSlackの「おやすみモード」がオンになっていたりスマートフォンの省電力設定が妨害していることもあるから「通知のトラブルシューティング」を実施してみるのがよろしい。そうしてようやっと望んだ動作が手に入ったのである。

参考:
Sending messages using Incoming Webhooks

Slackを始める

暇のかかるなにがしかの処理が完了した報告や障害・異常の検知を、スマートフォンにインストールしているSlackへ投稿して通知が来るようにしたい。と企ててから随分年月を経てしまったのでいい加減取り組むものである。其れにはSlackを始めない事には話にならない。

まずはSlackを始めるページへアクセスして「+Slackワークスペースを作成する」という文言をクリックする。

メールアドレスを打ち込み「確認する」をクリックすると入力したアドレス宛に確認コードのメールが送られる。

確認コードを見届けたならば入力欄へ打ち込んでゆく。最後の数字を入力した時点で検証が自動的に始まる。検証に成功すると新たにページが遷移する。

社名やチーム名の入力を促される。これはワークスペース名になるという。省略は許されないから、気の利いた名前をつけ「次へ」をクリックする。

次にプロジェクト名を入力する。これはチャンネル名のことであった。これも割愛はできないため、気の利いた名前をつけて「次へ」をクリックする。

メールを一番送信する相手を聞かれるけれども、登録してもしなくともよかった。一先ず「後で」を選択して先へ進むと、チャンネルが出来上がったと大盛りあがりするページへ行くから「Slackでチャンネルを表示する」をクリックして無事、Slackの世界へ足を踏み入れることになった。