ランブックの処理について
お世話になっております。
ランブックにて受信スロット経由で受信したメール本文(message.content.text)を
改行含めたすべての内容をフィールドに保存するため、正規表現に [\s\S]* を
設定しました。恐らく、本文にダブルクォーテーションが含まれている場合と
思われますが、error occurred on step [XXXXXXXXXXXXXXXXXXXXXXXX]
となってしまいます。ダブルクォーテーションを除外でも良いので処理が正常に
動作するようにしたいです。お手数ですが、ご教授頂けると幸いです。
【追記】
ランブックの実行履歴を確認していたところ、Slackへの連携部分(Webhook)に問題が
ありそうでした。
アクションのリクエスト本文に「 "value":"{{mail_message_all}}" 」で値を
Slackへ連携しようとしています。
データの中身としては「{"timeStamp":"2024-07-30 11:36:17.623","log_level・・・・・」
上記のデータのダブルクォーテーションを削除した
「{timeStamp:2024-07-30 11:36:17.623,log_level・・・・」とすると問題無くSlack連携できる
ことを確認しました。エラーを改善するためのアドバイスをお願い致します。
-
正式なコメント
お問い合わせありがとうございます。
ご質問の件、以下回答させていただきます。Slack 連携 API アクションではデータとして JSON を POST していると思いますが、その際に JSON 文字列のエスケープがうまくいっていないのがエラーの原因と思われます。
Webhook アクションの HTTP ヘッダ設定に 名前 =Content-Type
, 値 =application/json
を追加してみてください (スクリーンショット参照)。
この設定をすることで、ダブルクォーテーションや改行も適切にエスケープされます。
また、この HTTP ヘッダによる JSON エスケープ機能は現状融通が効かない面がありますので、上記はそのままの値を設定するようお願いします。
例えば、Content-Type
をcontent-type
と大文字小文字を変更したり、application/json
をapplication/json; charset=utf-8
と末尾に文字列を追加したりすると (HTTP リクエストとしては正しいものではあるものの) JSON エスケープは動作しません。以上、よろしくお願いします。
コメントアクション
サインインしてコメントを残してください。
コメント
2件のコメント