webhookで出力時に特殊文字がエスケープされたものを埋め込むと出力が無くなってしまいます。
完了例えばメールタイトルで
Problem: Batch CTICheckExceptionWorkbin Application EventLog Error "エラー"
という内容をsubjectというフィールドにコピーした場合下記のようにダブルクオーテーションが\"とエスケープされて保存されます。
"subject":"Problem: Batch CTICheckExceptionWorkbin Application EventLog Error /"エラー/""
この内容をwebhookに埋め込んでアクションで出力しようとすると出力が完全な空白になってしまいます。
過去質問で3重括弧{{{}}}でエスケープが解消されたというものも見まして、試しましたが事象は同様でした。
解決する方法はあるでしょうか?
-
Webhook アクションにおいて、JSON 形式でリクエストボディを構築しており、その値としてフィールド値を埋め込んでいることで事象が発生している、と想定して回答させていただきます。
リクエストボディの中でエスケープさせたい文字がフィールド値に含まれる場合、JSON 形式に限って自動的にエスケープする手段があります。
Webhook アクションの HTTP ヘッダに Content-Type を追加していただき、その値を application/json としてください。
こうすることで、リクエストボディが JSON であると認識し、埋め込んだフィールド値を展開する際に自動的に JSON エスケープされる動作となります。
サインインしてコメントを残してください。
コメント
3件のコメント