アプリ マニフェスト (以前は Teams アプリ マニフェスト) では、アプリをMicrosoft Teamsに統合する方法について説明します。 スキャフォールディング後、既定のアプリ マニフェスト ファイルは appPackage/manifest.json
で使用できます。 アプリ マニフェスト ファイルには、 ${{XX_XX}}
形式の環境変数がいくつか含まれており、実際の値は、Microsoft 365 Agents Toolkit (以前は Teams Toolkit と呼ばれます) と、 env/.env.dev
や env/.env.local
などの env ファイルを使用して解決されます。
実際のコンテンツでアプリ マニフェストをプレビューするために、Agent Toolkit は、次のフォルダー構造に示すように、 appPackage/build
フォルダーの下にプレビュー アプリ マニフェスト ファイルを生成します。
└───appPackage
└───build
├───appPackage.{env}.zip - Zipped app package of remote Teams app
├───appPackage.local.zip - Zipped app package of local Teams app
├───manifest.{env}.json - Previewed manifest of remote Teams app
└───manifest.local.json - Previewed manifest of local Teams app
アプリ マニフェスト ファイルは、ローカル環境とリモート環境でプレビューできます。
ローカル環境でアプリ マニフェスト ファイルをプレビューする
ローカル環境でアプリ マニフェスト ファイルをプレビューするには、F5 キーを選択してローカル デバッグを実行します。
env/.env.local
で環境変数を生成すると、アプリ パッケージとプレビュー アプリ マニフェストが appPackage/build
フォルダーの下に構築されます。
また、ツリー ビューまたは Teams から Zip Teams アプリ パッケージ をトリガーすることも、コマンド パレットから Zip Teams アプリ パッケージ をトリガーして、プレビュー アプリ マニフェストとアプリ パッケージを生成することもできます。
リモート環境でアプリ マニフェスト ファイルをプレビューする
リモート環境でアプリ マニフェスト ファイルをプレビューするには、ツリー ビューから プロビジョニング をトリガーするか、コマンド パレットから Teams: プロビジョニング をトリガーできます。 これは、リモート Teams アプリの環境変数を生成し、アプリ パッケージをビルドし、 appPackage/build
フォルダーの下にプレビュー アプリ マニフェストを生成します。
また、ツリー ビューまたは Teams から Zip Teams アプリ パッケージ をトリガーすることも、コマンド パレットから Zip Teams アプリ パッケージ をトリガーして、プレビュー アプリ マニフェストとアプリ パッケージを生成することもできます。
Visual Studio Code でアプリ マニフェストをカスタマイズする
ローカルデバッグまたはプロビジョニング中、Agents Toolkit は appPackage/manifest.json
からアプリ マニフェストを読み込み、 env/.env.xx
で定義された環境変数によってアプリ マニフェストを解決してから、 Teams 用開発者ポータルで Teams アプリを作成または更新します。
m365agents.yml
とm365agents.local.yml
で独自のmanifest.json ファイルを定義できます。 たとえば、manifest.json ファイルをtest/test.json
に配置し、yaml ファイル内のmanifestPath
パラメーターを更新できます。- uses: teamsApp/zipAppPackage # Build Teams app package with latest env value with: manifestPath: ./test/test.json # Path to manifest template outputZipPath: ./appPackage/build/appPackage.${{TEAMSFX_ENV}}.zip outputJsonPath: ./appPackage/build/manifest.${{TEAMSFX_ENV}}.json
独自の環境変数を定義できます。 既定のmanifest.jsonには、${{xx_xx}} の形式のプレースホルダーがいくつか含まれています。 独自の環境変数を定義し、manifest.json ファイルにプレースホルダーを追加できます。 たとえば、env/.env.xx ファイルに新しい環境変数を定義してアプリの説明をカスタマイズし、対応するプレースホルダーでmanifest.jsonを更新できます。
.env.dev
TEAMS_APP_DESCRIPTION=This is an amazing app
manifest.json
{ "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.17/MicrosoftTeams.schema.json", "manifestVersion": "1.17", "description": { "short": "${{TEAMS_APP_DESCRIPTION}}", "full": "Full description of tab0418" }, }
Agents Toolkit 5.10 以降では、
file
関数を使用して、長いアプリの説明や複数行のアプリの説明などのフィールドの値を別のテキスト ファイルに格納できます。 たとえば、manifest.json
の親フォルダーにdescription.txt
ファイルを作成して、アプリの完全な説明を格納します。 次に、manifest.json
のdescription.full
の値を$[file('description.txt')]
として設定します。 Agents Toolkit は、テキスト ファイルからコンテンツを読み取り、アプリ パッケージをビルドするときに完全な説明として使用します。description.txt
This is the full description.
manifest.json
{ "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.17/MicrosoftTeams.schema.json", "manifestVersion": "1.17", "description": { "short": "Short description of tab", "full": "$[file('./description.txt')]" }, }
env/.env.xx
にファイル パスを追加することもできます。 次に、file()
のパラメーターを${{xx_xx}}
形式のプレースホルダーに変更します。.env.dev
DESCRIPTION_PATH=./description.txt
manifest.json
{ "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.17/MicrosoftTeams.schema.json", "manifestVersion": "1.17", "description": { "short": "Short description of tab", "full": "$[file(${{DESCRIPTION_PATH}})]" }, }
アプリを検証する
カスタマイズ後に、アプリ マニフェストまたはアプリ パッケージを検証できます。 ツリー ビューから [アプリケーションの検証] をトリガーするか、コマンド パレットから [Teams: アプリケーションの検証] を トリガーできます。 マニフェスト スキーマを使用して検証するか、検証規則を使用してアプリ パッケージを検証するかの 2 つのオプションがあります。
アプリ マニフェスト スキーマを使用して検証する
このオプションは、環境変数を使用して appPackage/manifest.json
をレンダリングし、そのスキーマを使用してアプリ マニフェストを検証します。
または、次の Microsoft 365 Agents Toolkit コマンド ライン インターフェイス (以前は Teams Toolkit CLI と呼ばれる) コマンドを使用します。
atk validate --manifest-path <YOUR-PATH-TO-MANIFEST>
MissingEnvironmentVariablesError
を満たしている場合は、エージェント ツールキットで定義されている対応する環境変数がmanifest.jsonで見つからないことを意味します。
プロビジョニングを実行するか、F5 を選択して環境変数を生成するか、値を満たすためにファイル.env.xx
手動で更新する必要があります。
検証規則を使用してアプリ パッケージを検証する
このオプションは、検証規則を使用して zip 形式のアプリ パッケージを検証します。
または、次の Agents Toolkit CLI コマンドを使用します。
atk validate --app-package-file-path <YOUR-PATH-TO-APP-PACKAGE>
アプリ マニフェスト スキーマ以外の検証規則があります。 たとえば、静的タブ セクションに entityId conversations
と名前がある場合、次のエラーが表示されます。
Teams アプリを更新する
アプリ マニフェスト ファイルをプレビューして検証したら、コマンド パレットから Teams : Update Teams App コマンドをトリガーすることで、ローカルの変更を Teams 開発者ポータルに同期できます。
または、次の Agents Toolkit CLI コマンドを使用します。
atk update teams-app
注:
- 変更は開発者ポータルに反映されます。 開発者ポータルの手動更新は上書きされます。
- 発行されたアプリの名前を変更するには、
local.manifest
ファイルとmanifest.json
ファイルの両方を変更する必要があります。
構成ファイルの変更またはテンプレートの変更が原因でアプリ マニフェスト ファイルが古くなっている場合は、次のいずれかのアクションを選択します。
- プレビューのみ: ローカル アプリ マニフェスト ファイルは、現在の構成に従って上書きされます。
- プレビューと更新: ローカル アプリ マニフェスト ファイルは現在の構成に従って上書きされ、Teams プラットフォームにも更新されます。
- キャンセル: アクションは実行されません。
ローカル環境と開発環境の値をプレビューするには
appPackage/manifest.json
で、CodeLens に移動して、local
環境とdev
環境の値をプレビューできます。
注:
環境をプロビジョニングするか、ローカル デバッグを実行して環境変数を生成します。
[CodeLens] を選択すると、 .env
ファイルに移動できます。これにより、すべての環境名を含むドロップダウン リストが表示されます。 環境を選択すると、対応する .env
ファイルが開きます。
すべての環境の値をプレビューするには、プレースホルダーにカーソルを合わせます。 環境名と対応する値の一覧が表示されます。 環境をプロビジョニングしなかった場合やローカル デバッグを実行しなかった場合は、環境変数が存在しない可能性があります。 プレースホルダー値を表示するには、アプリをローカルでプロビジョニングまたはデバッグします。
関連項目
Platform Docs