データを格納する SharePoint リストに設定を持たせ、Power Automate で利用する
経緯
以前、SharePoint リストの説明に簡単な設定を入れ込んだことがあり、
それを Power Automate でも利用するとしたらできるのかな?っとやってみたメモ
今回のお題(仕様)
- あるユーザーがチャネルに投稿したら、SharePoint リストにログを残す
前準備
- MS Teams にて、「お試し用チーム」を作成
- 一般チャネルにリストを作成
- リスト「投稿があったらログを取る」の説明に設定を登録
Power Automate での実装
今回は追加したステップの名前は変更しないで説明してみます
トリガーは「チャネルに新しいメッセージが追加された時」としています
次のステップでは、「SharePoint に HTTP 要求を送信します」を使い、
リストの説明部分だけ取得します
次のステップでは、説明にセットした文字を JSON オブジェクトに変換して、
変数にセットします
式の内容は下記のようにしています
json(outputs('SharePoint_に_HTTP_要求を送信します')?['body']['d']['Description'])
次のステップでは、JSON オブジェクトの値を扱いやすくするために、
JSON の解析を行っています
スキーマはサンプルから生成していますが、下記のようになっています
{
"type": "object",
"properties": {
"TargetUser": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
ここまでが今回の主旨なので、ここからは特に載せる必要はないのですが… w
次のステップでは、投稿したユーザー名と設定されているユーザー名がマッチしているかを
チェックしています
左辺の式は下記のようにしています
contains(body('JSON_の解析')?['TargetUser'], triggerOutputs()?['body/from/user/displayName'])
最後のステップは先のステップの条件にマッチした時、SharePoint にアイテムを
登録するようにしています
結果
まぁフローの結果はどうでもいいんですが、
1 つ目の投稿がログ対象外のユーザー、2 つ目の投稿がログ対象ユーザー
考察
過去なにかの案件で、何かの縛りがあって使った方法でしたが、当時は JavaScript か
PowerShell で CSOM 使ってガリゴリしていたと思うんですが、Power Automate で
同じことするとこんな感じかーということだけの自己満足記事です
ディスカッション
コメント一覧
まだ、コメントがありません