クラウドエンジニアブログ

Power Apps で Planner の機能を強化してみる(前編)

渡邊 正和

渡邊 正和

元気ですか︖元気です。
どうも渡邊です。久しぶりのブログエントリになります。

さて、今回は Power Apps 使った Office 365 の機能強化をご紹介します。
対象となる機能は Planner です。

みなさん、Planner を活⽤されていますか︖
Planner は Office 365 のタスク管理ツールで、チームのメンバーにタスクを割り当てたり、進捗の管理を⾏ったりできるツールです。

Teams のタブアプリとして利⽤できたり、Outlook の To Do アプリのマイタスクと連携できるようになったりと便利に使えるようになっています。このブログの運営にも裏側では Planner を利⽤しているのですが、実はちょっと不満な点がありました。
Planner はタスクに担当者を割り当てる形なので、同じタスクに複数⼈の担当者を割り当てて、個別に進捗管理したい場合には⼈数分のタスクを設定する必要があります。これが地味に⼿間で不満に感じていました。

具体的にどういうことかというと、
例えば、⽬標設定や従業員満⾜度調査のような、全員が同じタスクを期⽇まで終えなければいけないケースを考えてみます。 Planner で 1つのタスクに複数の担当者を割り当てた場合、誰かが⾃分のタスクを終えてステータスを完了にしてしまうと、タスクを終えていない他の担当者のタスクも Planner 上では完了になってしまいます。
これではタスクの管理ができないので、⼈数分の同じ内容のタスクを作ってそれぞれに担当を割り当てるという、繰り返しの⽣産性の低い作業に⼿間を取られることになります。

繰り返し作業なら機械にやってもらう⽅が良い︕
ということで、今回のブログ記事では、Power Apps を使って Planner の不満解消を試みてみます。



「Microsoft 365 を利用した働き方改革推進」



1.要件の整理

今回は Power Apps を使った Planner の機能強化ということで、まずは不満点と改善点を書き出してみます。

  • 不満
    • 複数⼈に同じ内容のタスクをアサインしたい場合に、対象者分のタスクを個々に作る必要があり⼿間がかかる
  • 改善点
    • タスクを登録する際に、選択したユーザー数分のタスクが作成されて、それぞれのタスクに⼀⼈ずつがアサインされている状態にしたい

つまり、以下のようなイメージです。

1.要件の整理-1


続いて、Power Apps で作る機能を考えてみます。

タスク登録に必要な情報は、タスクの件名とタスクの説明、期限、担当者です。機能としては、テキスト⼊⼒と⽇付の選択、担当者の指定ができれば良さそうです。
また、Planner にタスクを登録する時にアサインする担当者の数だけタスクを作れば良いので、指定された担当者の⼈数分だけ同じタスクを作れば良いことになります。これはループ処理で対応すれば良さそうです。

図に起こすと以下のようなイメージになります。

1.要件の整理-2



2.下調べ

作るアプリのイメージがなんとなくできたところで、実際にどうやって Planner にタスクを登録するのか、アサインする担当者の情報をどうやって取得するのかを調べてみます。
Power Apps では Office 365 内の各種サービスと連携するためのコネクターが⽤意されています。このコネクターを調べて、⽬的の機能に利⽤できそうか調べてみます。

Power Apps で利⽤できるコネクタの情報はこちらのドキュメントで公開されています。

こちらの Planner コネクターを確認すると、以下のアクションが利⽤できそうです。


続いて、担当者の情報を取得するためのコネクターを探してみます。
Planner は Office 365 グループに紐づくサービスになりますので、こちらの Office 365 グループ コネクターを⾒てみると、所属するメンバーの⼀覧を取得するアクションがありました。


以上で利⽤できそうなコネクターがあることは確認できました。
引き続き、各コネクターの利⽤⽅法を確認していきます。

まずは「タスクの新規登録 (Create a task)」です。
公開ドキュメントを⾒ると、Group IdPlan Id,Title が必須となっています。また、Bucket Id で登録先のバケットを、Due Date Time で期限を指定できるようです。さらに、Assigned User Ids で担当者のアサインができそうです。

ここで疑問が湧きます。Planner の Group Id, Plan Id, Bucket Id はどこで確認すれば良いのでしょう︖


Planner の Group IdPlan Id の確認⽅法

Planner の Group IdPlan Id は対象の Planner のサイトの URL に埋め込まれています。
Planner の URL は以下のようになっています。

2.下調べ-1

URL 内の groupIdplanId がそのまま Group IdPlan Id に対応しています。


Planner の Bucket Id の確認⽅法

続いて Bucket Id を確認します。Planner の Bucket Id はブラウザの管理者ツールを使って実際の HTMLの要素から確認することができます。
実際の確認は以下のスクリーンショットのようになります。

2.下調べ-2



例えば「To Do」のバケット ID を確認したい場合は、画⾯右側の HTML が表⽰されている箇所をマウスオーバーさせて、「To Do」の記述箇所を確認します。
画⾯左側の「To Do」のバケットが反転する箇所が対象要素の記述箇所になります。
対象の要素の記述箇所が特定できたら実際の記述箇所を確認し、「id=」から始まる記述を探します。
この「id=」に続く""で囲まれた⽂字列が Bucket Id になります。

ここまでで、タスクの新規登録に関する下調べができました。
次に「タスクの説明の登録 (Update task details)」を確認していきます。

公開ドキュメントを⾒ると、Task Id が必須となっています。また、Description にタスクの説明を設定すれば良さそうです。

さて、ここまで読み進めた読者のみなさんは、「Task Id ってどう確認するんだろう︖」と疑問を抱かれることでしょう。
Task Id はタスク登録を⾏った際に個別のタスク毎に発⾏される固有の ID です。この ID はタスクを登録しない限りわからないので、事前に確認することはできません。ではどうやってこの ID を取得すれば良いのでしょうか︖
ヒントはタスクの登録にあります。ここで再び「タスクの新規登録 (Create a task)」の公開ドキュメントを確認してみます。 「Create a task」のセクションの下の⽅に「Returns」というものがあります。この「Returns」にはタスクを 登録した時の応答が定義されています。それでは、GetTask_Response_V2のリンクを辿って応答内容を確認してみます。
すると、Id の Description に The id of the task. と記載されているのが確認できます。
つまり、Create a task を実⾏した際の応答として Task Id が返ってくるようです。
したがって、「タスクの説明の登録 (Update task details)」を⾏うには「タスクの新規登録 (Create a task)」の応答を利⽤すれば良いということになります。

ここまでで、タスクの新規登録とタスクの説明の登録の⽅法が確認できました。
続いて、「所属するメンバーの⼀覧 (List group members)」を確認します。

例のごとく公開ドキュメントを⾒ると、Group Id が必須となっています。この Group IdPlanner の Group Id と Plan Id の確認⽅法で確認したものと同じ値を利⽤することができます。



以上でひとまずの下調べができました。
ここから実際のアプリ作成に⼊っていくのですが、少し記事が⻑くなってきましたので、以降の内容は次回の記事でご紹介させていただきます。
最後に今回の記事をざっくりまとめると以下のような内容になります。

  • Power Apps を使って、Planner の不満点を解消する
  • Planner の不満点
    • 個別で進捗管理したい同じ内容のタスクを複数⼈にアサインしたい場合にタスク登録の⼿間がかかる
  • 利⽤する Power Apps のコネクタ

以上です。最後までお読みいただきありがとうございました。
次回の記事もお楽しみに︕



関連ページ

「Microsoft 365 を利用した働き方改革推進」

【総合】お問い合わせ

製品・サービスに関するお問い合わせはお気軽にご相談ください

ピックアップ

セミナー情報
クラウドエンジニアブログ
clouXion
メールマガジン登録