Настройка манифеста приложения
Манифест приложения (ранее называемый манифестом приложения Teams) описывает, как приложение интегрируется с Microsoft Teams. После формирования шаблонов файл манифеста приложения по умолчанию доступен по адресу appPackage/manifest.json
. Файл манифеста приложения содержит некоторые переменные среды с форматом ${{XX_XX}}
, а фактические значения разрешаются с помощью microsoft Teams Toolkit с env-файлами, такими как env/.env.dev
и env/.env.local
.
Для предварительного просмотра манифеста приложения с фактическим содержимым Набор средств Teams создает файлы предварительного просмотра манифеста приложения в 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
.
Вы также можете активировать пакет приложений Zip Teams из представления дерева или Пакет приложений Teams: Zip Teams из палитры команд, чтобы создать предварительный просмотр манифеста приложения и пакета приложения.
Предварительный просмотр файла манифеста приложения в удаленной среде
Чтобы просмотреть файл манифеста приложения в удаленной среде, можно активировать подготовку из дерева или Teams: Provision из палитры команд. Он создает переменные среды для удаленного приложения Teams, пакета приложения сборки и манифеста приложения предварительной версии в папке appPackage/build
.
Вы также можете активировать пакет приложений Zip Teams из представления дерева или Пакет приложений Teams: Zip Teams из палитры команд, чтобы создать предварительный просмотр манифеста приложения и пакета приложения.
Настройка манифеста приложения в Visual Studio Code
Во время локальной отладки или подготовки набор средств Teams загружает манифест приложения из appPackage/manifest.json
и разрешает манифест приложения переменными среды, определенными в env/.env.xx
, а затем создает или обновляет приложение Teams на портале разработчика для Teams.
Вы можете определить собственный файл manifest.json в
teamsapp.yml
иteamsapp.local.yml
. Например, можно поместить файл manifest.json вtest/test.json
и обновитьmanifestPath
параметры в yaml-файлах.- 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" }, }
Начиная с Набора средств Teams 5.10, с помощью
file
функции можно хранить значение поля, например длинное или многостроочное описание приложения, в отдельном текстовом файле. Например, создайтеdescription.txt
файл в родительской папке ,manifest.json
чтобы сохранить полное описание приложения. Затем задайте значениеdescription.full
inmanifest.json
как$[file('description.txt')]
. Teams 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: Проверить приложение из палитры команд. Существует два варианта: Проверка с помощью схемы манифеста или Проверка пакета приложения с помощью правил проверки.
Проверка с помощью схемы манифеста приложения
Этот параметр выполняет отрисовку appPackage/manifest.json
с переменными среды, а затем проверяет манифест приложения по его схеме.
Кроме того, используйте следующую команду интерфейса командной строки набора средств Microsoft Teams (Teams Toolkit CLI):
teamsfx validate --manifest-path <YOUR-PATH-TO-MANIFEST>
Если вы соответствуете MissingEnvironmentVariablesError
, это означает, что Набор средств Teams не может найти соответствующие переменные среды, определенные в manifest.json. Для создания переменных среды может потребоваться выполнить подготовку , выбрать F5 или вручную обновить .env.xx
файл, чтобы выполнить это значение.
Проверка пакета приложения с помощью правил проверки
Этот параметр проверяет zip-пакет приложения с помощью правил проверки.
Кроме того, используйте следующую команду КОМАНДНОй строки набора средств Teams:
teamsfx validate --app-package-file-path <YOUR-PATH-TO-APP-PACKAGE>
Он имеет другие правила проверки, отличные от схемы манифеста приложения. Например, если раздел статической вкладки содержит entityId conversations
и имя, появляется следующая ошибка:
Обновление приложения Teams
После предварительного просмотра и проверки файла манифеста приложения можно синхронизировать локальные изменения на портале разработчика Teams, активировав команду Teams: Обновить приложение Teams из палитры команд.
Кроме того, используйте следующую команду КОМАНДНОй строки набора средств Teams:
teamsfx update teams-app
Примечание.
- Это изменение отражено на портале разработчика. Все обновления вручную на портале разработчика перезаписываются.
- Чтобы изменить имя опубликованного приложения, необходимо изменить файлы
local.manifest
иmanifest.json
.
Если файл манифеста приложения устарел из-за изменения файла конфигурации или изменения шаблона, выберите одно из следующих действий:
- Только предварительный просмотр. Файл манифеста локального приложения перезаписывается в соответствии с текущей конфигурацией.
- Предварительный просмотр и обновление. Файл манифеста локального приложения перезаписывается в соответствии с текущей конфигурацией, а также обновляется на платформе Teams.
- Отмена: никаких действий не выполняется.
Предварительный просмотр значений для локальной среды и среды разработки
В appPackage/manifest.json
можно перейти к CodeLens, чтобы просмотреть значения для local
сред и dev
.
Примечание.
Подготовьте среду или выполните локальную отладку для создания переменных среды.
Чтобы перейти к файлу .env
, выберите CodeLens, который предоставляет раскрывающийся список со всеми именами сред. После выбора среды откроется соответствующий .env
файл.
Чтобы просмотреть значения для всех сред, можно навести указатель мыши на заполнитель. В нем отображается список имен сред и соответствующих значений. Если вы не подготовили среду или не выполнили локальную отладку, переменные среды могут не существовать. Подготовьте или отладите приложение локально, чтобы увидеть значение заполнителя.
См. также
Platform Docs