【Power Apps】Plannerとの連携

Office365の中で便利なタスク管理アプリのPlannerですが、例えば「Power Appsからタスクを追加したい!」や「Power Appsからタスクを管理したい!」などいろいろな要望があると思います。

Power AppsからPlannerの情報をゲットしたりするための必要なことをまとめます。

Plannerの制限

Microsoft Learnに載っているタスクの制限数1つのプラン内では2400まで作成可能です。(2022年8月現在)

プランの中にバケットと言われる入れ物がありますが、こちらもひとつのプランで200まで作成可能です。
普通に使用する分には問題ないかと思いますが、制限数は覚えておいて損はないかと思います。

参考 Microsoft Planner の制限Microsoft Docs

Power AppsからPlannerを読み取るとき最新400件のタスクしか抽出できないという記事を以前読んだことがありましたが、マイクロソフトさんのページでその文言を探してみたのですが見つからず…もしかしたら今はルールが変わっているかもしれませんので、見つけた方は教えてください。

Plannerとの接続

Power AppsからPlannerのコネクタにつなぐには”データソースの選択“から”Planner“を選択します。

Plannerのアクション

今回は練習用に”test“プランの中にバケットを作成していろいろと試してみたいと思います。

PlannerはOffice365のグループに基づいているため、ほとんどのアクションにはGroupIDPlanIDを引数として必要とします。

GroupIDPlanIDPlannerをブラウザで開いたときのアドレスに書いてあります。
アドレスの中の”groupid=”から”&”までがgroupIDplanIDは”planid=”以降のアルファベットと数字です。

プランナーから情報を取り出す関数

ListGroupPlans(groupID)

グループが所有しているプランの一覧が取得できます。

Apps
Planner.ListGroupPlans(groupID).value

ListBucketsV3(planID, groupID)

プランの中にあるバケットすべてをリストとして取り出すことができます。
Galleryに入れたら下記のようになります。戻り値として取り出せるのはbucketID, bucketName, planIDになります。バケット名を取得する際に利用します。
引数としてplanIDを入れているのに戻り値にもあるというのが少し不思議ですが…

Apps
Planner.ListBucketsV3(planID,groupID).value

ListTasksV3(groupID, planID)

プラン内にあるすべてのタスクを取得することができます。
戻り値としてbucketID, タスクを割り当てたユーザー(_assignment)カテゴリ、タスク作成者ID、タスク完了日、タスク開始日、タスク終了日、タスク期限、メモ(hasDiscription)、タスクID、タスクの進行状況、タスク名を取ることができます。

Apps
Planner.ListTasksV3(planID, groupID).value

ListMyTasks_V2()

自分に割り当てられたタスクの一覧を取得することができます。

Apps
Planner.ListMyTasksV2().value

GetTaskV2(taskID)

1つのタスクの情報を取得可能です。

必須項目はタスクID。取得できる情報は、createdBy.user.displayName(タスク作成者)、createdBy.user.id(タスク作成者ID)、プランID、バケットID、タスクのタイトル、percentComplete(達成率)、startDateTime、dueDateTime、hasDescription(メモ)、completedDateTime(完了日時)、referenceCount(タスクにある外部参照の数)、id(タスクID)、appliedCategories(タスクに適用されたカテゴリ)、_assignments(割り当て)、_assignments.userId(タスクが割り当てられたユーザーID)、_assignments.value.assignedBy.user.id(タスクを割り当てユーザーのID)、_assignments.value.assignedDateTime(タスクを割り当てた日時)、_assignments.value.orderHint(割り当てオーダーのヒント)だそうです。

Apps
Planner.GetTaskV2(taskID)

プランナーへ情報を追加する関数

CreateTaskV3(groupID, planID, title)

タスクを作成するときに使用する関数です。groupID, planID, titleは必須ですが、bucketID, startDate(タスクの開始日時), dueDate(タスクの期限日時), assignments(割り当てユーザー), categoryは任意です。

バケットIDは指定しない場合、プランにデフォルトで入っているTodoに入ったり、バケットの指定がないバケットの中に入ります。

カテゴリは25色の色が設定されており、カテゴリ別で色分けする場合に使用します。

Apps
Planner.CreateTaskV3(groupID, planID, "TaskTitle",{bucketID:"",startDateTime:2022/9/5,dueDateTime:2022/9/30})

UpdateTaskV3(taskID)

タスクを更新するときに使用します。必須項目TaskIDのみで、更新可能な項目はtitle(タスクのタイトル), dueDateTime(期限日時), startDateTime(開始日時), percentComplete(タスク達成率), assignments(割り当てユーザー), unassignments(割り当てユーザーの削除)です。

Apps
Planner.UpdateTaskV2(taskID,{title:"taskTitle", dueDateTime:2022/9/27,startDateTime:2022/9/8})

CreateBucketV2( taskTitle, groupID, planID )

バケットを新しく作成します。必須項目は、バケットタイトル、グループID、プランIDです。

Apps
Planner.CreateBucketV2("bucketName",groupID, planID)

他の関数や関数の新しいバージョンはMicrosoft Learnを参照してみてください。

参考 プランナーDocs

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA