11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Power AutomateAdvent Calendar 2024

Day 7

Plannerを救いたい with Power Automate

Last updated at Posted at 2024-12-07

緒言

前回書いたPlannerを救いたい with Power Appsの続きです。前回はPower Apps ⇒ Planner連動について書きましたが、Planner ⇒ Power Apps連動はPower Automateの出番!かな?

Planner ⇒ Power Appsの連動がなぜ必要か?

前回記事でApps側でタスク新規作成/更新/削除したら即座にデータソースのSharePoinntリストとPlannerの同期がとれる仕組みは構築済。利用者がAppsだけを使ってくれるように徹底できたら良いがそんなことは望めない。よってPlanner側でタスク新規作成/更新/削除されてもSharePointリストとの整合を担保する必要がある。

1. Apps使わずPlannerでタスクが新規作成された時

この対処は簡単で方法は2通り。When a new task is createdトリガーでSharePointリストに同じTaskIDのレコードが無いか判定し、無ければPlannerタスク側を削除してしまうかまたはSharePointリストにレコード追加するか。下図の例は前者の削除パターン。削除したことを理由とともにユーザーへ通知。
image.png

2. Apps使わずPlannerでタスクが更新や削除された時

新規作成と違って更新や削除はPlannerコネクタに"更新された時"みたいなトリガーが用意されてない。。。ということで、Recurrenceトリガーで即時性は無いけど定期的に強引に同期をとる。。。SharePointリストのレコード一覧を取得してそれぞれに格納されたTaskIDからPlannerデータ取得してSharePointリストを更新する。
image.png

チームでPlannerを使ったことがある方は経験されたことがあるんじゃないかと思いますが、完了じゃなく削除されちゃって「あれ?何かタスク減ってね?」と思ってもごみ箱も無いので復元できず・・・その対策としてGet a taskが失敗した時のスコープの中でSharePointリストからPlannerタスクを復元する処理を実行。
image.png

image.png
↑のGet a taskが失敗した時のスコープがスキップされた時、すなわちGet a taskが成功した時のスコープ内ではPlannerタスクの内容をSharePointリストに反映させる処理を実行。
image.png

image.png
最後の配列変数初期化は忘れてはいけない。。。絶対。。。

結言

かなり強引にPower AppsとPower AutomateでPlannerを救ってみました。どこかにある理想のタスク管理を探し求め続けます。。。
あと最近はNew Designer大好きです。

11
1
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
11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?