Edited at

SlackにFileMakerから通知を送信する

FileMakerでデータの更新があったときに何らかの通知があればいいなあと思うことがよくあります

Slackに通知を送信することができれば、そのほかのサービスでも応用が利くのではないかと考え、テスト作成してみました


準備

Slackのアカウントはある前提

FileMaker17でテストしました

Slackの"Incoming Webhook"というアプリケーションを追加しておきます

スクリーンショット 2018-11-27 12.49.08.png


Slackの設定

Incoming Webhookを追加

チャネルとしてテスト用に #filemaker_notify というチャネルを追加しました

アプリの設定画面からWebhook URLをコピーしておきます


FileMakerの設定

スクリーンショット 2018-11-27 13.11.22.png

こんな感じのテスト用のファイルを作成しました

送信スクリプトは以下の通り

webhook_url はそれぞれで異なっているはずです


Script

# ------------------------------

# Slackに通知を流す
# SlackにIncoming webhook を追加しておくこと
# ------------------------------
#
# ------------------------------
# IncomingWebhook を設定した際に提供されるURL
変数を設定 [ $webhook_url ; 値: "https://hooks.slack.com/{TOKEN}" ]
# ------------------------------
#
# ------------------------------
# 送信するデータ
変数を設定 [ $text ; 値: //送信するテキスト JSON送信テスト::text ]
変数を設定 [ $username ; 値: //Slackに表示させるユーザ名 JSON送信テスト::username ]
変数を設定 [ $channel ; 値: //送信するチャネル JSON送信テスト::channel ]
# ------------------------------
#
# ------------------------------
# JSONSetElementでJSONの型にはめる
変数を設定 [ $JSON ; 値: JSONSetElement ( $JSON ; ["text"; $text ; JSONString]; ["channel"; $channel ; JSONString]; ["username"; $username ; JSONString] ) ]
# ------------------------------
#
# ------------------------------
URL から挿入 [ 選択 ; ダイアログあり: オフ ; $$Results ; $webhook_url ; cURL オプション: "curl -X POST -d " & $JSON ]
# ------------------------------

問題なく送信されると、$$Resultはokを格納します、エラーが起きるとエラーメッセージを格納します


送信テスト

スクリーンショット 2018-11-27 13.23.36.png

・改行はそのまま有効になります

・URLもそのまま書いたら有効になりました

スクリーンショット 2018-11-27 13.25.34.png


今後は

スクリプトトリガと連携させて通知を自動化することで、できることは広がりそうな予感がします