見出し画像

★Microsoft Listのバージョン履歴を自動取得するフローの解説★その1

Microsoft Listでバージョン履歴を確認するニーズがあり、効率化のために自動取得フローを作成しました(*’▽’)♡
ここでは、リストの履歴取得方法やフロー構成のポイントについて説明します☆彡
今回はその1として、Listからバージョン履歴を直接取得する方法や、PowerAutomateを使用して履歴を取得しようとした時の一番基本となるフローの解説をしていきます


Microsoft Listからバージョン履歴を取得する

Microsoft Listでは、各アイテムのバージョン履歴を取得することができます

取得の仕方

こちらは解説用に作成したリストになります↓
今回はnumberが「007」、userが「田中美咲」であるアイテムのバージョン履歴を見てみます

💡バージョン履歴って??
Microsoft Listで変更した履歴のことです。
作成時をバージョン1.0として、何か変更がある度にバージョンが更新され、記録されていきます

リストの「・・・」の部分をクリックし、「バージョン履歴」を選択すると・・・

過去どんな変更があったのかわかるようになっています

(例えばこの履歴を見ると、田中美咲さんの前には佐藤花子さんがこの物品を利用していたことがわかります)

通常はこのように手動でバージョン履歴を確認しますが、一個一個見ていくのは面倒…
ということで、APIを利用して自動化していきます(*^-^*)
Microsoft Listのバージョン履歴は、以下のようなAPIリクエストで取得できます

_api/web/lists/getbytitle('リスト名')/items('アイテムID')/versions

➡ この仕組みをPower Automateのフローで実現していきます

◇基本◇ リストIDを一つ指定して、バージョン履歴を取得する

今回は基本を押さえつつ、バージョン履歴のうち、
バージョンの履歴番号と名前を取得する方法を見ていきます

フローの全体図はこちら↑

それでは、各フローのアクションの設定を見ていきましょう
※今回作成するフローのトリガーは「手動でフローをトリガーします」です!

①HTTPリクエストの送信

リスト名: 対象のリストの名前を入力します。
アイテムID: バージョン履歴を取得したいアイテムのIDを入力します(例:7)今回は、解説用☆物品管理、7を指定しました

②データの配列化(作成アクション)

※(SharePoint_に_HTTP_要求を送信します)の出力ではエラーになってしまうので注意⚠️
HTTPリクエストの送信で取得したデータの形を、一度配列の形にします
(そうしないと、次のアクションを繋げられないからです( ;∀;))

③選択で必要なデータだけ取得(選択アクション)

今回はバージョンの番号(VersionLabel)と(user)というフィールドの値を取得したいのでこの値を指定しています
※このフィールドが名前の部分になります!

💡配列の中から任意の値を取り出すときの式は↓になります

item()?['取り出したい値']

'VersionLabel'というワードはどこからきたんだ?という方へ

少し脱線・・・!
'取り出したい値'って言われても難しいですよね
②での出力をみてみます・・・
(例) 出力 ※実際の出力をかなり短縮しています

"Created": "2025-02-14T06:39:51",
    "VersionId": 1536,
    "VersionLabel": "3.0",
    "Title": "007",
    "item": "ディスプレイ",
    "place": "本社3階 オフィス",
    "status": "未利用",
    "user": "なし",
    "ID": 7,

これを言語化してみると
"VersionId"は1536ですよ~
"VersionLabel"は"3.0"ですよ~というような意味です
この“ ”で囲まれた部分のことを'取り出したい値'の名前だと思ってください

今回の選択アクションの意味を日本語にすると、
「作成アクションの出力結果から、VersionLabelとuserの値だけ抜きだしてほしい」というような意味になります(⋈◍>◡<◍)。✧♡

出力結果

[
  {
    "バージョン": "5.0",
    "利用者": "田中美咲"
  },
  {
    "バージョン": "4.0",
    "利用者": "なし"
  },
  {
    "バージョン": "3.0",
    "利用者": "なし"
  },
  {
    "バージョン": "2.0",
    "利用者": "佐藤花子"
  },
  {
    "バージョン": "1.0",
    "利用者": "佐藤花子"
  }
]

これで各バージョンの番号と、そのバージョンに伴い変更された”人の名前”を抽出することができました!

まとめ

今回はリストのバージョン履歴をPowerAutomateを使用して取得する方法を見ていきました!
一番基本のフローなのですが、このままでは毎度リストIDの値を設定しないといけません・・・
複数分一気に取得したい!という場合用に、リストIDを変数として指定するパターンも作成・解説しているので、ぜひ参考にしてみてください

有識者の方、アドバイスがあればコメントくださいませ💦
役に立った、参考になったなどのコメントもうれしいです(*^-^*)

それでは~(@^^)/~~~


いいなと思ったら応援しよう!