目的
Teams Admin Center(Teams管理者センター)で組織向けにAzure Botマニフェスト(zipファイル)をアップロードしたところ Mgmt.AppCatalog.LOBApp.Upload.BadRequest.Error
とだけ表示されるエラーが表示されたので、エラーの原因を探りたい。
エラーの原因確認
マニフェストファイル(zip)をアップロードする前にデベロッパーツールのネットワークタブを開いてから、ファイルをアップロードする。
おそらくリクエストのいずれかがエラーになっているので、そのリクエストのレスポンスを確認する。
レスポンスには下記が帰ってきており、 filename
が null
であることが原因だったとわかりました。
{
"error": {
"code": "BadRequest",
"message": "Value cannot be null. (Parameter 'filename')",
"innerError": {
"code": "UnknownTeamsAppManifestExceptionType",
"message": "Value cannot be null. (Parameter 'filename')",
"details": [],
"date": "2024-01-25T00:16:44",
"request-id": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"client-request-id": "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
エラーを解消する
filename
が null
でないようにすればよいとわかりましたが、Microsoft Teams マニフェストスキーマを確認したところ、 filename
というパラメータは存在していませんでした。
いろいろ試しましたが、 manifest.json
のスキーマバージョン指定を 1.15
から 1.13
に変えたり、 icons.outline
と icons.color
の指定ができていなかったのでテンプレートで自動生成されたpngファイルを指定しておくとアップロードができました。
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.13/MicrosoftTeams.schema.json",
"manifestVersion": "1.13",
<略>
"icons": {
"outline": "icon-outline.png",
"color": "icon-color.png"
},
<略>
}
レスポンスのエラー内容とは関係ない部分を直してアップロードの不具合が解消しましたが、エラー内容自体ももしかしたら間違っていたのかもしれません。
参考
Debug error uploading manifest to Teams Admin portal. - YouTube