Azure Logic AppでMicrosoft Plannerと連携しよう!
背景
Microsoft Plannerは、Microsoft 365の一部として提供されるタスク管理ツールです。これを使うことで、チームや個人のタスクを管理できます。Teamsからも利用できるため、チーム内でのタスク管理に便利です。
この記事のモチベーション
もちろん、TeamsやPlannerのWebアプリから、手動でタスクを登録することができます。
何らかのWebアプリなどからシステム的にPlannerと連携するには、API経由で登録したいです。
主に2つの方法がありそうです。
- GraphAPIを使う
-
LogicAppを使う
この記事では、LogicAppを使ったPlannerへのタスク登録を行います。
Microsoft Plannerを使う
Microsoft 365を契約している場合、Microsoft Plannerを使うことができます。
契約していない場合、試用版のMicrosoft Plannerを使います。
試用版のMicrosoft Plannerを使う手順
「無料で試す」をクリック
メールアドレスを入力して「次へ」
「アカウントのセットアップ」
アカウント情報を入力し「次へ」
セキュリティチェック実施
ドメイン名とユーザ名、作成するアカウントのパスワードを入力
支払方法を追加
※アカウントにカードを紐づける必要があるが、Plannerの試用版は無料です。
「作業の開始」
試用版のMicrosoft 365が利用できるようになります。
アカウントを作成した直後は、以下のように表示されます。しばらく待ってから再度アクセスしましょう。
LogicAppでPlannerにタスク登録する
LogicAppの作成
「追加」をクリック
「従量課金」を選択
以下を設定しましょう。
- サブスクリプション
- リソースグループ
- アプリ名
- リージョン
内容を確認して、作成します。
作成完了!!!🎉
Plannerに登録する処理
さて、ここからが本題です。以下のフローを作成していきます。
- HTTPトリガー(POST)でタスク名と期限日を受け取る
- Plannerにタスクを登録する
- 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