[Mac] FileMaker から Slack へ投稿

FileMaker アプリでボタンを押すと定型文を Slack に投稿できるようにする方法を考えてみた。

まとめると、Mac の Slack 投稿用シェルスクリプトを作り、FileMaker のスクリプトで投稿用シェルスクリプトを呼び出す AppleScript を作る。

(1)Slack の Incoming Webhook 用 Webhook URL を取得する。

https://slack.com/services/new/incoming-webhook

(2)テキストエディタ等で以下のようなシェルスクリプトを作成。例えば、「お知らせ」チャンネルに「ご飯だよ!」と、「お知らせ君」という名前で投稿するとする。

#!/bin/sh

curl -X POST --data-urlencode "payload={\"channel\": \"#お知らせ\", \"username\": \"お知らせ君\", \"text\": \"ご飯だよ!\", \"icon_emoji\": \":smile:\"}" [1で取得した Webhook URL]

(3)2を SlackNotify.sh というファイル名で保存したとすると、Mac のターミナルで以下を実行し、実行権限を与える。

$ chmod 755 [SlackNofity.shへのパス]

(4)FileMaker のレイアウトで適当なボタンを作成。そのボタンを右クリックし、「Button Setup」で Single Step を作成。以下のようなスクリプトを作成する。

Perform AppleScript ["do shell script " [SlackNofity.shへのパス]"" ]

これでボタンを押せば Slack へ投稿できる。

参考:
初心者向けシェルスクリプトの基本コマンドの紹介
https://qiita.com/zayarwinttun/items/0dae4cb66d8f4bd2a337

simple applescript curl command – Apple Community
https://discussions.apple.com/thread/4599614

AppleScript の do shell script をバックグランドで実行する
https://qiita.com/mattintosh4/items/3220a75ae6229553b87b