FileMaker
JSON
Slack

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

今後は

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