Microsoft 365 管理センター上で配信されている”サービス正常性”のメッセージを取得し、日本語に訳したうえでTeamsにメッセージを投稿する方法をご紹介します。
本記事では、前回に引き続き、フローの作成方法についてご紹介していきます。
今回の構築範囲
前回は、「変数を初期化する」部分までご紹介しました。
今回は、「Apply to each」部分の中身についてご紹介します。
早速、フローの作成方法についてご紹介していきます。
データ加工・変数追加etc.
1.[+新しいステップ]をクリックします。
2.[それぞれに適用する]アクション(Apply to each)を選択します。
3.[以前の手順から出力を選択]にて、[value]を選択します。
4.[Apply to each]アクション内で[アクションの追加]をクリックします。
5.再度、[それぞれに適用する]アクション(Apply to each)を選択します。
6.[以前の手順から出力を選択]にて、[posts]を選択します。
7.[Apply to each 2]アクション内で[アクションの追加]をクリックします。
8.[配列変数に追加]を選択します。
9.[名前]にcontentList、[値]に[content]を入力します。
10.[Apply to each 2]アクション内で[アクションの追加]をクリックします。
11.[データ操作]と検索し、[作成]アクションを選択します。
12.以下のように手動で入力します。
※動的なコンテンツ(id/title/lastModifiedDate等)は右側に出てくるポップアップから選択し、""で括ります
"詳細"部分では、今回は以下のような式を入力してみます。
first(variables('contentList'))
13.[Apply to each]アクション内で[アクションの追加]をクリックします。
14.[変数の設定]アクションを選択します。
15.[名前]に"contentList"、[値]に"[]"を入力します。
※繰り返し処理の次のステップのために一度値をリセットする必要があるので、このようなステップを踏んでいます
16.[Apply to each]内で[アクションの追加]をクリックします。
17.[JSONの解析]アクションを選択します。
18.[コンテンツ]にて、[出力]を選択し、[サンプルから生成]をクリックします。
19.手順12にて入力した[作成]アクションの内容をコピーし、[JSONの解析2]アクションの[スキーマ]部分に貼り付け、[完了]をクリックします。
↓ ↓ ↓
AI Builderを用いて出力データを日本語に翻訳する
これまでの手順で出力・加工したデータは、そのままだと、Teamsに投稿する際に以下のように英語表記で投稿されてしまうので、AI Builderを使って日本語に翻訳していきます。
1.[Apply to each]内で[アクションの追加]をクリックします。
2.[AI Builder]グループから[テキストを別の言語に翻訳する]アクションを選択します。
3.[テキスト]に"詳細"、[翻訳語の言語]に"日本語"を選択します。
4.[Apply to each]アクション内で[アクションの追加]をクリックします。
5.再度、[AI Builder]グループから[テキストを別の言語に翻訳する]アクションを選択します。
6.[テキスト]に"タイトル"、[翻訳語の言語]に"日本語"を選択します。
インシデント情報をTeamsに投稿する
上記手順で日本語化したデータをTeamsに投稿するような構成を組んでいきます。
1.[Apply to each]アクション内で[アクションの追加]をクリックします。
2.[チャットまたはチャネルでメッセージを投稿する]アクションを選択します。
3.以下のように設定します。
※ インシデント内容とタイトルは、AI Builderを用いて翻訳するため、AI Builderにて生成された変数を指定します
※各変数は間違えないよう注意してください!
(ex."ID"や"最終更新日"は"JSONの解析2"で作った変数を指定します)
4.完成です!フローのテストを実行して、問題なくTeamsの投稿が行われているかを確認します。
以下のようにTeamsのチャネルに投稿されていれば想定通りです。
おわりに
本記事では、AI Builderを用いてMicrosoft 365インシデント情報を翻訳投稿するフローのうち、”サービス正常性”から取得したデータの翻訳、ゴールとなるTeamsに投稿する部分まで実装しました。
ご紹介したようなフローを作成することで、Microsoft 365管理センターにアクセスし、サービス正常性に配信される英語の情報を翻訳するといった作業なしに、Teamsからオープン中のインシデントだけを確認できるので作業効率化につながるかと思います。