IFTTTのWebhookで困った
↓こういうの行けると思ったが…
curl -X POST -H "Content-Type: application/json" -d '{"value1":"$VAR1","value2":"$VAR2","value3":"$(cmd)"}' https://maker.ifttt.com/trigger/${EVENT_NAME}/with/key/${TOKEN}
Bad Requestが帰ってくる。
bash -xで調べると$VAR1や$(cmd)が文字列のまま実行されていた
シングルクォートのせい
とりあえず解決策
curl -X POST -H "Content-Type: application/json" -d @- https://maker.ifttt.com/trigger/${EVENT_NAME}/with/key/${TOKEN} << EOS
{"value1":"$VAR1","value2":"$VAR2","value3":"$(cmd)"}
EOS
もっといい方法がありましたらご教示ください
この記事はDeveloper I/Oさんを参考にしました。
https://dev.classmethod.jp/server-side/os/how-to-inject-variable-to-json-on-bash/