報告された問題に緊急フラグを追加する
Microsoft Teams の問題レポート サンプル アプリのユーザーとして、報告された問題を Planner で作成する方法のロジックの変更が必要になる場合があります。 標準フィールドの多くは標準アプリの Planner に含まれていますが、特定の要件に基づいて、さらに変更を加えることができます。
このビデオでは、報告された問題に緊急度フラグを追加する方法について説明しています:
アプリでのタスクの作成と Power Automate の使用
Planner/Tasks などの別のサービスでレコードを作成または更新する場合、レコードを作成または更新する方法を選択できます。
アプリからレコードを作成します。
アプリ レコードからレコードを作成する主な利点は、同期的に作成されることであり、これによって、レコードがより迅速に作成される可能性があります。 また、簡単な操作の場合、操作はすべてアプリ内に含まれているため、アプリからのレコードの作成が簡単になります。 アプリからレコードを作成することの欠点は、操作が長時間実行されている場合、または多くのレコードを作成または変更する場合、Power Automate フローのような非同期プロセスの方が、アプリのパフォーマンスがより高速になることです。
Power App から呼び出される Power Automate フローでレコードを作成します。
Power Automate を使用してアプリからレコードを作成する利点には、実行時間の長い操作の遅延を減らすことが含まれます。 また、レコードの作成と更新ロジックを頻繁に変更されるロジックの Power Automate のフローに分離することによって、管理者はアプリを変更して再公開することなく、レコード作成のロジックを変更できます。 複雑なレコードの更新の場合、一部の作成者にとってレコード作成をフローに移動する方が、複雑なパッチ式と比較して管理と拡張が簡単な場合があります。 Power Automate を使用してレコードを作成するもう一つの利点は、各フロー実行のログがあり、レコードがいつ作成または更新されたかの詳細な履歴が示されることです。
アプリからレコードを作成するためにフローを使用することの欠点は、フローへのアクセスをアプリ ユーザーと忘れずに共有する必要があること、また、フローは非同期で実行されるため、完了までに少し時間がかかるということです。
データの更新によってトリガーされた Power Automate フローでレコードを作成します (レコードの作成など)。
タスクなどのレコードを作成する場合、アプリでフローを直接トリガーできます。 その場合、フローはアプリを実行しているユーザーのコンテキストで実行され、フローをユーザーと共有する必要があります。 場合によっては、Dataverse—でレコードが更新された場合のようにデータの更新によってフローがトリガーされる方がよい場合があり、フローが次のいずれかのカテゴリにある場合これをお勧めします。
フローでは、ユーザーが更新できる権限を持たないものを更新する必要があります。
複数のアプリにはプロセスが必要— たとえば、誰かに通知するフローがあり、その通知は複数のアプリまたは他のプロセスによってトリガーされる可能性があるとします。
データの更新からフローをトリガーすると、フローをアプリと共有する必要がないため、展開を簡略化できます。
データがトリガーされたフローとアプリから呼び出されるフローの主な欠点は、フローによって作成または変更されたレコードが、フローを所有するユーザーによって作成および変更されて表示されることです。
このレッスンでは、問題レポート アプリを更新して、Power Automateフローを使用して Microsoft Planner でタスクを作成し、緊急タスクの優先順位フィールドに入力します。
報告されている問題の緊急度をユーザーが設定できるようにする
このレッスンでは、ユーザーが問題に緊急のフラグを立てる機能を追加して、問題レポート アプリの機能を拡張します。 これを実行する理由は、緊急の問題に優先順位を付けたり、スーパーバイザーに通知したりできるようにするためです。
この演習の結果には、次のものが含まれます。
- 問題レポート フォームに追加された緊急フラグです。
優先度を緊急に設定して Microsoft Planner で作成された緊急タスクです。
問題レポート アプリに緊急フラグを追加する
このステップでは、問題レポート アプリを更新して、緊急タスクにフラグを立てるチェックボックスを追加します。 このプロセスは、問題レポート テンプレート アプリが Teams にインストールされ、Microsoft Planner/Tasks を使用するように構成されていることを前提としています。
ヒント
アプリとデータ モデルのアーキテクチャの詳細については、問題レポートのアーキテクチャ を参照してください。
Teams で Power Apps アプリを開きます。
左側のペインで ... (省略記号) を選択します。
Power Apps を検索して選択します。

Power Apps を右クリックして Power Apps アプリをポップ アウトすると、Teams で他の場所に行く必要がある場合でも、作業内容が失われることはありません。

問題レポート アプリがインストールされているチームを選択し、インストール済みアプリ タブを選択します。

問題レポート タイルで 問題レポート を選択します。

Teams の Power Apps アプリで問題レポート アプリを開きます。
画面の左側で ツリー ビュー、そして問題レポート スクリーンを選択する

キャンバス上で、説明 フィールドをダブルクリックします。 説明はデータ カードにあるので、それを選択するだけで、データ カード全体が選択されます。
Width プロパティを選択し、数式バーに次の数式を入力します。
If( true,//locLocationEnabled, tglLocation.X - Self.X, Parent.Width - Self.X - gblPadding.Page )この数式は、このフィールドでの応答性を維持します。
説明カードによってチェックボックス コントロールを追加します。
チェックボックス ラベルを 緊急 に変更します。
チェックボックスの X プロパティの数式を変更します。
Parent.Width - Self.Width - gblPadding.Pageこの数式により、アプリの幅に対するチェックボックスの位置が決まります。
チェックボックスの LabelSize プロパティを変更します。
gblAppStyles.Label.Size.Small
Power Automate フローを作成して、Planner タスクを作成し、緊急性を設定する
このセクションでは、フローを作成し、Planner タスクと Dataverse レコードを作成するアプリ ロジックを置き換えます。 この時点でアプリを保存することをお勧めします。
問題の送信 ボタンをダブルクリックします。 データ カードではなく、ボタンが選択されていることを確認してください。

数式バーで OnSelect 式を選択します。 数式をコピーしてメモ帳に貼り付けます。 これは、必要なときに取得するのに役立ちます。
注意
数式をコピーする理由は、ボタンにフローを追加すると、数式が消去されるためです。 フローをアプリにリンクした後で数式を復元できるように、数式を確実にコピーする必要があります。
トップ メニューで、3 つの水平方向のドットを選択し、Power Automate を選択します。

フローの作成 を選択します。
ブラウザーで Power Automate ウィンドウが開きます。
トリガーの一覧から PowerApps を選択します。

左上隅で、無題 を選択し、フローの名前を Planner タスクの作成 に変更します。

注意
次の手順で、値を PowerApps で質問する に設定します。 Power Apps から PowerApps で質問する にトリガーされた Power Automate フローで値を設定するとき、パラメーターはフローで作成され、Power Apps はフローがアプリから呼び出されるときにこのパラメーターに値を渡します。

新しいステップ を選択します。
次に、2 つの作成ステップを追加します。 作成ステップは、任意のタイプの値をキャプチャし、後でフローでその値を使用するために使用できる変数の種類です。
作成 をファインダーに入力し、作成 アクションを選択します。
作成ステップの名前を カテゴリー に変更します。
注意
作成されたパラメーターに汎用名ではなく適切な名前が含まれるように、値を Power Apps で質問する に設定する前に必ず作成ステップの名前を変更します。
動的コンテンツ パネルを選択し、PowerApps で質問する アクションを選択します。
別の作成ステップを追加します。
新しい作成ステップの名前を テンプレート に変更します。
テンプレート ステップの入力を PowerApps で質問する に設定します。
Planner の タスクを作成する (プレビュー) アクションを追加します。
Power Apps で質問する に次のフィールドを設定します。
- グループ ID
- プラン ID
- 肩書き
- バケット ID
- 開始日時
- 期限日時
- 割り当て済みユーザー ID
- 優先順位

優先度 フィールドを選択し消去します。 このフィールドを PowerApps で質問する に設定し、それから消去する理由は、パラメーターが作成されて、式の中で参照するためです。
優先度フィールドの動的コンテンツ パネルで、式 を選択し、次の式を入力します。
if(equals(triggerBody()['Createatask_Priority'],1),1,5)この数式は、Power Apps タスクからの緊急値が 1 (緊急) の場合、優先度を 1 (緊急) に設定し、それ以外は 5 (緊急ではない) に設定することを意味しています。
Planner の タスクの詳細の更新 ステップを追加します。

タスク ID の値を、動的コンテンツ パネルを使用したタスクの作成ステップの ID 値に設定します。
説明 フィールドを Power Apps で質問する に設定します。
Dataverse の 新しい行を追加する アクションを追加します。
テーブルの 問題レポート を選択します。
注意
問題レポート テーブルには、2 つの検索フィールドが含まれています。 検索フィールドに入力するときは、テーブル名 (レコード ID) のように値を入力する必要があります。 以前に追加した 2 つの作成ステップには、カテゴリとテンプレートのレコード ID が含まれます。 これらの値を入力するには、括弧付きのエンティティ名を入力し、括弧内で動的コンテンツ ウィンドウから適切な値を選択します。
このステップでは、次の値を入力します。
Column 価値 カテゴリ msft_issuereport_categories() それから括弧の間に、カテゴリ作成ステップの出力値を選択します。 名称 Power Apps で質問する Planner タスク ID タスクの作成ステップからの ID 値 タスクの割り当て Power Apps で質問する タスクの説明 Power Apps で質問する タスクの期限 Power Apps で質問する タスク開始日 Power Apps で質問する テンプレート msft_issuereport_templates() 次に括弧の間で、
テンプレート作成ステップの出力値を選択する結果は次のようになります。

最後のステップを追加して、Power Apps またはフローに応答します。
このステップでは、tasked というテキスト出力を追加し、タスクの作成ステップから Planner タスク ID の値に設定します。

フローは次のようになります。

フローを保存して、Power Apps に戻ります。
新しいフローの作成 を選択したパネルで、フローが一覧表示されているはずです。 表示されない場合は、データ パネルを閉じて、問題の送信 ボタンを選択し、Power Automate ボタンをもう一度選択します。
データ パネルから Planner タスクの作成 フローを選択します。

注意
フローを選択すると、このフローが Power Apps と関連付けられ、また、OnSelect プロパティをクリアします— これが、このレッスンの前半で数式の内容をコピーした理由です。
元の OnSelect 式のバックアップ コピーで、フローによって処理されるようになったため、Planner タスクを作成するセクションを削除します。 最初に、このセクションを削除します。

変更した数式をバックアップ コピーからコピーし、問題の送信 ボタンの OnSelect プロパティのコンテンツを変更した数式で置き換えます。
数式の下部近くで、Navigate 式を探します。 以下を Navigate 式の直前に貼り付けます。
Set(gblPlannerTask,CreatePlannerTask.Run(gblPlannerGroupId,gblPlannerPlanId,locNewTask.appTitle,locPlannerBucketForTask,locNewTask.appStart,locNewTask.appDue,locNewTask.appAssignments,Checkbox1.Checked,locNewTask.appDescription,gblRecordCategory.'Issue Report Category',gblRecordTemplate.'Issue Report Template'));注意
CreatePlannerTask.Run() 式は、Planner のタスク フロー作成をトリガーし、括弧内の値は、PowerApps で質問する 値が追加されたときに作成されたフローのパラメーターに渡される値です。
これらが指定される順序はフローに追加した順序に基づいており、指定された順序で追加した場合この数式は機能します。 それらを同じ順序で追加しなかった場合、intellisense は適切なフィールドの順序でガイドします。 locNewTask.appTitle のような数式で指定している変数は、OnSelect 式の前半で設定されたコンテキスト変数です。
次に、この数式は set() 式でラップされ、これにより、このフローの結果がグローバル変数に設定され、作成されたタスク ID を参照できるようになります。
式の Navigate() の部分で、locTaskId の値を gblPlannerTask.taskid に変更します。
アプリを保存して公開します。
アプリをテストする
これで、Planner タスクを作成するためのフローが作成され、アプリ内タスクの作成がフローに置き換えられました。 プロセス内で、優先度 フィールドを条件的に設定することで機能を追加しました。 ただし、そこで停止する必要はなく、フローを拡張して、追加の Planner タスク プロパティを設定したり、フローに Microsoft To-Do のような他のタスク管理システムでタスクを作成させるなどの他のアクションを実行したりできます。
アプリをテストするには、Teams で、問題レポート アプリが公開されているチームに移動し、問題を報告します。
Power Automate で、フローの実行ログを表示します。 フローが正常に実行されたことを確認します。

フローが失敗した場合は、実行の開始日を選択してエラーの詳細を表示し、アプリで使用されている Planner タブをチェックして、フローによって作成されたタスクが表示され、すべての値が正しく入力されていることを確認します。
関連項目
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。
フィードバック
フィードバックの送信と表示