LoginSignup
0
0

More than 1 year has passed since last update.

PowerAutomate: Teams へのメッセージ投稿(HTML)でタグが表示される場合は、改行置換してやると上手くいくかも

Posted at

背景

Teams の Trigger を使って自動化をする際、元の投稿内容が壊れて表示されることがあったのでその対処法

対象アクション

現状は、以下で再現。
チャットまたはチャネルでメッセージを投稿する
チャネル内のメッセージで応答します

現象

HTML の解析に失敗しているのか? タグが表示されてしまう。

本来は、リンク
マイページ << こんな感じ

チャットでの異常時

image.png

チャネルでの異常時

image.png

VS-Code での正常な表示

出力内容自体が壊れているのか?と思い、Outlook に送信してみたり、VS-Code で表示してみたが特に問題無さそう。
ってことで、Teams の Action に問題があるとの認識で、原因と対処を検討してみたのが今回
image.png

原因・・と思われるもの

とりあえず、以下のように改行コードが入っていて、こいつを置換して削ってやると上手くいったので原因の一つとして考えて良さそう

ただ・・

  • bulletins の時だけ発生
  • Outlook の Send a email の HTML では特に問題なし
  • \t はあっても問題無し

という条件があるので、\n が、というよりは、エスケープコードとしての "\" が悪さをしてそうな気がする
image.png

詳細

Teams の Trigger コネクターを利用し、取得した内容を元に処理をしようとすると、ContentType:HTML で Content に HTML ベースの投稿内容が取得出来る。

例えば、新しいチャネル メッセージが追加されたとき を使った場合の例が以下
image.png

対処法

上であげた、原因を排除してしまえばいいので、改行を Replace() してやる

改行の置換方法
@{replace(outputs('Compose'),decodeUriComponent('%0A'),'')}

以下のような改行置換では反応しないので、decodeUriComponent を使って指定してやること
image.png

置換後の比較

チャットでの改善

image.png

チャネルでの改善

image.png

あとがき

HTML の Advanced Mode 編集ではよく HTML が壊れてしまうんですが、同じような原因なのかも?
ただ、Outlook では再現しなかった・・

HTML が壊れてしまう件については、以下に対処法が公開されてます。

keyword

how to fix when html message is broken in post or reply message

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0