📅

Azure Logic AppでMicrosoft Plannerと連携しよう!

2024/09/16に公開

背景

Microsoft Plannerは、Microsoft 365の一部として提供されるタスク管理ツールです。これを使うことで、チームや個人のタスクを管理できます。Teamsからも利用できるため、チーム内でのタスク管理に便利です。

この記事のモチベーション

もちろん、TeamsやPlannerのWebアプリから、手動でタスクを登録することができます。
何らかのWebアプリなどからシステム的にPlannerと連携するには、API経由で登録したいです。
主に2つの方法がありそうです。

  • GraphAPIを使う
  • LogicAppを使う

この記事では、LogicAppを使ったPlannerへのタスク登録を行います。

Microsoft Plannerを使う

Microsoft 365を契約している場合、Microsoft Plannerを使うことができます。
https://www.microsoft.com/ja-jp/microsoft-365/planner/microsoft-planner-plans-and-pricing

契約していない場合、試用版のMicrosoft Plannerを使います。
https://www.microsoft.com/ja-jp/microsoft-365/planner/microsoft-planner?msockid=3af131bd8d5365ea342825718cd86476

試用版のMicrosoft Plannerを使う手順

「無料で試す」をクリック

メールアドレスを入力して「次へ」

「アカウントのセットアップ」

アカウント情報を入力し「次へ」

セキュリティチェック実施

ドメイン名とユーザ名、作成するアカウントのパスワードを入力

支払方法を追加
※アカウントにカードを紐づける必要があるが、Plannerの試用版は無料です。

「作業の開始」

試用版のMicrosoft 365が利用できるようになります。

https://tasks.office.com
右下の「サインイン」
アカウントを作成した直後は、以下のように表示されます。しばらく待ってから再度アクセスしましょう。

LogicAppでPlannerにタスク登録する

LogicAppの作成

「追加」をクリック

「従量課金」を選択

以下を設定しましょう。

  • サブスクリプション
  • リソースグループ
  • アプリ名
  • リージョン

内容を確認して、作成します。

作成完了!!!🎉

Plannerに登録する処理

さて、ここからが本題です。以下のフローを作成していきます。

  1. HTTPトリガー(POST)でタスク名と期限日を受け取る
  2. Plannerにタスクを登録する
  3. HTTPレスポンスを返す

HTTPトリガー(POST)の設定

「ロジックアプリデザイナー」で、「トリガーの追加」をクリック
「When a HTTP request is reveived」を選択

「サンプルのペイロードを使用してスキーマを生成する」をクリック。
Bodyで受け取りたいJson構造を定義します。
タスク名、期限日を受け取るため、以下のように設定します。

{
   "task": {
      "name": "task name",
      "dueDate": "2024-09-16T10:00:00Z"
   }
}

以下のように自動でBody部のスキーマが設定される。
Methodは「POST」を選択します。

Responseの設定

「+」をクリックして、「アクションの追加」します。

「Response」で検索しクリック

Headersに以下を設定します。

  • Key: Content-Type
  • Value: application/json
    Bodyに以下を設定
  • Body (triggerBody())

HTTPTrigger 稼働確認

いったん、HTTPTriggerとResponseが問題なく動くかを確認します。
作成したフローを保存します。

「ペイロードで実行」をクリックし、Bodyを設定し実行します。

「実行履歴」の画面で、実行結果をクリックします。

Responseの詳細を確認すると、ResponseのBodyにRequestのBodyがそのまま返ってきていることが確認できます。

Plannerにタスク登録する処理追加

HTTPTriggerの次にPlannerにタスク登録する処理を追加します。

「タスクを作成する(Preview)」を選択します。

Plannerにサインインします。
Plannerが使えるアカウントでサインインしてください。

Plannerでタスク登録する対象の「グループ」と「プラン」を選択し、フローを保存します。

タスク登録処理の稼働確認

ペイロードで実行し、Plannerにタスクが登録されることを確認します。
Bodyには以下を設定します。

{
   "task": {
      "name": "LogicAppでPlannerにタスク登録する処理の追加",
      "dueDate": "2024-09-17T13:00:00Z"
   }
}

Plannerにタスクが登録されました!🚀

Discussion