背景
サクッとメール送信する機能を実装する為、Azure Logic AppsのGmailコネクタを使用して、HTTPトリガーから起動できるようにしたのですが、「このときは、このメッセージ」「このときは、このメッセージ」みたいな切り替えが必要になってきたので、Webhookのパラメータに応じて送信内容を切り替える機能を実装してみました。
概要
大雑把な構成はこちら。
HTTP TriggerからGmailコネクタを読んでメールを送信します。
もう少し詳しく
- HTTP要求の受信でパラメータを受信しておきます
- メール本文のコメントを切り替える用の[変数]を初期化しておきます
- スイッチ分岐で、受信したパラメータに応じてコメント用の[変数]を設定します
- Gmailコネクタの本文内で、コメント用の[変数]を使い、送信するメール内容を切り替えます。
詳細
HTTPリクエストでのParameterの渡し方
以前の記事 でも紹介していますが、HTTPトリガーで発行されるURLで「postalCode=123456」が渡したいParameterの部分になります。
公式ドキュメントの書き方
なので、今回は例として、[param=0]とします。
「param=0」に変更した例が以下になります。
メールの本文中で使用するコメントの初期化
HTTPトリガーで受信したパラメータによる処理の切り替え
先ほどの公式ドキュメントにも記載がありますが、以下のような式に入れてやると、[param]の値を取得することができます。
triggerOutputs()['queries']['param']
スイッチ分岐を使って、[param]で渡されてくる文字列を比較として、[変数]のコメントに切り替えるコメントを代入します。[param]の値を見て、[変数]に代入する文字列を切り替えます。
パラメータで渡されるのは文字列になるので、比較する値も"0"など、文字列にすることはお忘れなく。
メール送信の本文内で使用します
このような感じで [コメント変数] を使用することで、送信するメールの内容を切り替えることができます。
メールの送信
このようなメールを送信することができます。
[param]の値を変えることで、送信する内容を切り替えることが出来ます。
まとま
上記のような方法で、HTTPトリガーで渡されるパラメータで送信メールの内容を変更することが可能です。
HTTPトリガーのパラメーターとしていろいろ渡すことも可能ですが、微妙なメールでの言い回しなどはLogicApps側で変更可能にしておくことで、プログラマーでなくても容易にカスタムできる環境が作れると思います。