Power Automateのフローにて、「チャットやチャネルにカードを投稿する」などのアクションを用いて、Teamsへアダプティブ カードを投稿するということがあると思います。
私はアダプティブ カードを作成するために必要なJSON構文の知識が少ないため、アダプティブ カード デザイナーを用いてJSON構文を作成しています。
その際、アダプティブ カード デザイナーでテキスト入力している際は改行されているものの、プレビュー画面や実際にアクションへ該当構文を入力しても、テキストが改行されていないことがありました。
今回は、上記のような場合で改行させる方法をご紹介します。
本記事の対象者
本記事はJSONの知識が初心者レベルの方向けの記事となっています。
上記を前提に本記事をご覧ください。
アダプティブ カードとは
アダプティブ カードとアダプティブ カード デザイナーについては、過去の記事でもご紹介しています。こちらの記事もご覧ください。
アダプティブ カード デザイナーで編集
それでは、実際の画面で見ていきましょう。
アダプティブ カード デザイナーでは、TextBlockというパーツを用いることで、カード内にテキストを入力することが出来ます。
[ CARD STRUCTURE > TextBlock ]を選択すると、ELEMENT PROPERTIES上に編集画面が表示されます。
[ ELEMENT PROPERTIES > TextBlock > Text ]にアダプティブ カードに記載したい文章を入力します。
今回は「こんにちは。今日は良い天気ですね。」という文章を入力し、「こんにちは。」の後ろで改行を入れます。
画面左側がプレビュー表示ですが、文章が改行されていないことが分かります。
どのようにして改行させるか
2種類の方法をご紹介します。
[ ELEMENT PROPERTIES > TextBlock > Text ]で改行を2回実施する
改行を2回繰り返すと、プレビュー表示でも改行されます。
視覚的に分かりやすいので、JSON初心者の方はこの方法をお勧めします。
[ CARD PAYLOAD EDITOR ]の[ "body" > "text" ]で改行したい箇所に「\n\n」を入力する。
CARD PAYLOAD EDITORはプレビュー表示されているJSONが表示されます。
[ "body" > "text" ]部分が表示されるテキスト内容を記載する箇所です。
改行したい箇所に「\n\n」を入力すると、プレビュー表示でも改行されるようになります。
お気づきの方もいるかもしれませんが、どちらの方法でも同じ結果になります。
理由は、ELEMENT PROPERTIESとCARD PAYLOAD EDITORの内容は連動しているため、片方を編集すればもう片方も自動的に編集されるためです。
「\n」について
「\n」はどのような意味であるのか
調べてみたところ、JSON構文における「\n」は改行の意味を表すそうです。
ですので、通常であれば「\n」を入れることで改行されるようようですが、アダプティブ カードでのテキストではうまく機能しませんでした。
その理由を調べてみましたが、残念ながら納得いく答えは出てきませんでした。
アダプティブ カードのテキストブロックでは「\n\n」を使う必要がある
Microsoft Learnで調べると、「TextBlock の他の場所で改行が必要な場合は、\n\n を使用してください。」という文言がありました。
ですので、やはりアダプティブ カード内で改行させるには「\n」ではなく「\n\n\」を使う必要があったようです。
終わりに
アダプティブ カード内のテキストを改行させる方法をご紹介しました。
同じような現象で悩んでいる方の参考になれば幸いです。