SharePoint リストのコメント機能とは?
2020年の11月頃に追加されたSharePointリストの機能です。
アイテムに対してコメントを残すことができて、さらに最近のアップデートでユーザーにメンションする機能も追加されました。
詳しくは TAICHIさん の黒いブログで解説されているのでチェックしてください。
@メンション
コメントでは @XXXX の形式で複数のユーザーにメンションすることができます。
メンションされたユーザーにはコメント本文とコメントへのリンク入りで、メール通知が送られます。
※差出人はコメントした人。メールボックスにも送信済みとして入っている。
本題:Power Automate からのコメントとメンション送信
さて、このコメントですが、SharePoint REST API を利用して取得・追加が可能です。
Uriは以下の形式です。
_api/web/lists/GetByTitle('<List Title>')/items(<ItemID>)/Comments()
ここではリストをタイトルから取得していますが、lists(<List GUID>)/items(<ItemID>)
でリストとアイテムを特定してもよいと思います。
とにかくポイントとしては、1アイテムに Nコメントなのでアイテムを特定してからコメントにアクセス です。
Power Automate で コメントを操作するためには 「Send an HTTP request to SharePoint」のアクションを使います。
取得するだけであれば Method を GET とすればOKです。
普通のコメント
普通の (?) コメントを送信する場合には送信するBodyを以下の形式にします。
{ "text":"Test Comment \n New line"}
改行は \n
でも、decodeUriComponent('%0A')
でもどちらでも反映されていました。
メンション付きコメント
メンション付きのコメントは少しBodyが特殊です。
{ "text": "@mention{0} test \n @mention{1} test2", "mentions": [ { "email": "chris@example.com", "name": "Chris" }, { "email": "david@example.com", "name": "David" } ] }
複数ユーザーにメンションを送ることができますが、メンション先の一覧は "mentions"
という名前の配列を作って指定します。
コメントの中では、『メンション先一覧の中の何番目を使うか』 を @mention{N}
の形で指定します。
上の例では 0番目がChrisなので、最初のメンションは @mention{0} --> @Chris
に、後ろのメンションは @mention{1} --> @David
にそれぞれ置き換えられます。
"name"
には 対象ユーザーの表示名 (DisplayName) を入れるので、Office 365 Users コネクターなどで取得するとよいでしょう。
まとめ
Power Automate で SharePoint REST API を利用して リストのコメント追加およびメンションする方法を紹介しました。
ポイントは
- Uri : _api/web/lists/GetByTitle('
- ')/items(
)/Comments() - 改行は
\n
- メンションは対象のユーザー一覧が必要。コメント内では
@mention{N}
で指定
です。
ご参考まで。