Synology の NAS の通知を Slack で受け取る
DSMのWebhook設定を行って、SlackにNASの通知を送ることができましたので、その手順の紹介。
DSM に Webhook設定が追加
Synology NAS の DSM 7.0+ で、通知設定にWebhookが追加されていました。
もともと、メール通知は使ってましたが、外部SMTPサーバー設定が面倒と思ってたところ。
これならSlackに投げれるだろうと、設定してみました。
Slack側の設定
各所に紹介があるので説明は割愛。
アプリを追加し、Incomming Webhook を設定して、通知を送りたいチャネルを指定しておきます。
発行されるURL 例) https://hooks.slack.com/services/XXXXXXXXXX/YYYYYYYYYY が後の設定で必要になるのでメモしておきましょう。
Webhookの管理を開く
DSMにログインしたら、次のように画面を開くと、Webhookアプリケーションが表示されるので、「Webhookの管理」を押して設定画面を開きましょう。
コントロールパネル > 通知 > プッシュサービス
Webhookの管理
Slackとの連携設定を行う
あとは、各設定を間違えずにいれるだけ。
プロバイダーの選択
Slackと連携する場合には、「カスタマイズ」を選択して、次へ。
プロバイダーの説明
次の3つを設定します。
- プロバイダー名: Slack (名称は任意でOK)
- Webhook URL: SlackのIncomming Webhook設定で取得したURL
- HTTP方式: POST を選択
HTTPリクエストヘッダーを編集
Content-TypeがJSONとなっていればいいので、ここでは特に追加は不要です。
HTTPリクエストボディを編集
次を設定します。フィールド名 text がポイント(Slack側の仕様)
- フィールド名: text
- 値: Hello World! (ここは任意です。実際は上書きされるので)
各パラメータに対応するカテゴリを選択
タイトルの意味がわからなかったのですが、重要なのは1つだけ。
先程作成したフィールド text に対して、次の設定をします。
- パラメータ: text
- カテゴリ: メッセージコンテンツ
テストメッセージ送信
Webhookの管理 から 「テストメッセージ送信」ができます。
SlackのIncomming Webhookで指定したチャネルに、次のようなメッセージが流れれば成功
編集で確認
プロバイダー
HTTPリクエスト
パラメータのタイプ
その他
最初 HTTPリクエストボティ の text パラメータを失念しててうまく行かず。
Synologyサポートに問い合わせしたところ、サンプルは出せないけど、こっちはで送れてるよとの返事をもらったので、出来るはずと精査して成功。良かった。
あと、初めて Zenn.dev 使ってみましたが、サラサラ書けて快適でした !
Discussion