Updates from: 08/02/2023 03:27:36
Service Microsoft Docs article Related commit history on GitHub Change details
platform Manage Your Apps In Developer Portal https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/manage-your-apps-in-developer-portal.md
In the **Manage rollouts** section, you can see the following components to mana
* **Pull request history**: This page allows you to create a new pull request and to control who gets app updates. For example, you can release an update to Microsoft employees to identify and fix bugs before releasing it to the public.
-* **Distribute your app**: This page allows you to create a request to distribute your app to specific audience. You can distribute your app to non-GA rings or GA rings. It's recommended to not distribute to several rings simultaneously. Instead, roll out gradually to higher order rings. For help, see [aka.ms/teamsAppIngestion](https://domoreexp.visualstudio.com/Teamspace/_wiki/wikis/Teamspace.wiki/26278/Publishing-apps).
+* **Distribute your app**: This page allows you to create a request to distribute your app to specific audience in Teams. We recommend you not to distribute your app to different versions of Teams simultaneously. Instead, roll out gradually to higher order Teams versions. For help, see [aka.ms/teamsAppIngestion](https://domoreexp.visualstudio.com/Teamspace/_wiki/wikis/Teamspace.wiki/26278/Publishing-apps).
* **Withdraw your app**: This page allows you to create a request to withdraw your app from a specific audience. > [!NOTE]
- > DevX team is allowed to withdraw your app from **Ring 4**.
+ > DevX team is allowed to withdraw your app from Teams generally available (GA) version.
## Test your app directly in Teams
platform Manifest Schema https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/schema/manifest-schema.md
The item is an array (maximum of only one element—currently only one bot i
|Name| Type| Maximum size | Required | Description| ||||||
-|`botId`|string|64 characters|✔️|The unique Microsoft app ID for the bot as registered with the Bot Framework. The ID can be the same as the overall [app ID](#id).|
+|`botId`|string|128 characters|✔️|The unique Microsoft app ID for the bot as registered with the Bot Framework. The ID can be the same as the overall [app ID](#id).|
|`scopes`|array of enums|3|✔️|Specifies whether the bot offers an experience in the context of a channel in a `team`, in a group chat (`groupChat`), or an experience scoped to an individual user alone (`personal`). These options are non-exclusive.| |`needsChannelSelector`|Boolean|||Describes whether or not the bot uses a user hint to add the bot to a specific channel. Default: **`false`**| |`isNotificationOnly`|Boolean|||Indicates whether a bot is a one-way, notification-only bot, as opposed to a conversational bot. Default: **`false`**|
The item is an array (maximum of one element) with all elements of type `object`
|Name| Type | Maximum Size | Required | Description| ||||||
-|`botId`|string|64|✔️|The unique Microsoft app ID for the bot that backs the message extension, as registered with the Bot Framework. The ID can be the same as the overall App ID.|
+|`botId`|string|128 characters|✔️|The unique Microsoft app ID for the bot that backs the message extension, as registered with the Bot Framework. The ID can be the same as the overall App ID.|
|`commands`|array of objects|10|✔️|Array of commands the message extension supports.| |`canUpdateConfiguration`|Boolean|||A value indicating whether the configuration of a message extension can be updated by the user. Default: **false**.| |`messageHandlers`|array of Objects|5||A list of handlers that allow apps to be invoked when certain conditions are met.|
Each command item is an object with the following structure:
|||||| |`id`|string|64 characters|✔️|The ID for the command.| |`title`|string|32 characters|✔️|The user-friendly command name.|
-|`type`|string|64 characters||Type of the command. One of `query` or `action`. Default: **query**.|
+|`type`|string|||Type of the command. One of `query` or `action`. Default: **query**.|
|`description`|string|128 characters||The description that appears to users to indicate the purpose of this command.| |`initialRun`|Boolean|||A Boolean value indicates whether the command runs initially with no parameters. Default is **false**.| |`context`|array of Strings|3||Defines where the message extension can be invoked from. Any combination of`compose`,`commandBox`,`message`. Default is `["compose","commandBox"]`.|
Each command item is an object with the following structure:
|`parameters.title`|string|32 characters|✔️|User-friendly title for the parameter.| |`parameters.description`|string|128 characters||User-friendly string that describes this parameter’s purpose.| |`parameters.value`|string|512 characters||Initial value for the parameter. Currently the value isn't supported|
-|`parameters.inputType`|string|128 characters||Defines the type of control displayed on a task module for`fetchTask: false` . One of `text, textarea, number, date, time, toggle, choiceset` .|
+|`parameters.inputType`|string|||Defines the type of control displayed on a task module for`fetchTask: false` . Input value can only be one of `text, textarea, number, date, time, toggle, choiceset` .|
|`parameters.choices`|array of objects|10 items||The choice options for the`choiceset`. Use only when`parameter.inputType` is `choiceset`.| |`parameters.choices.title`|string|128 characters|✔️|Title of the choice.| |`parameters.choices.value`|string|512 characters|✔️|Value of the choice.|
Provide your Azure Active Directory App ID and Microsoft Graph information to he
|Name| Type| Maximum size | Required | Description| ||||||
-|`id`|string|36 characters|✔️|Azure AD application ID of the app. This ID must be a GUID.|
+|`id`|string|128 characters|✔️|Azure AD application ID of the app. This ID must be a GUID.|
|`resource`|string|2048 characters|✔️|Resource URL of app for acquiring auth token for SSO. </br> **NOTE:** If you aren't using SSO, ensure that you enter a dummy string value in this field to your app manifest, for example, `https://example` to avoid an error response. | ## graphConnector
platform Teamsfx SDK https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/TeamsFx-SDK.md
setLogFunction((level: LogLevel, message: string) => {
> [!NOTE] > Log functions don't take effect if you set a custom logger.
-## Upgrade latest SDK version
+## Upgrade to latest SDK version
-If you're using the version of SDK that has `loadConfiguration()`, you can follow these steps to upgrade to the latest SDK version:
+If you're using the version of SDK that has `loadConfiguration()`, you can perform the following steps to upgrade to the latest SDK version:
-1. Remove `loadConfiguration()` and pass customized settings using `new TeamsFx(IdentityType.User, { ...customConfig })`.
-2. Replace `new TeamsUserCredential()` with `new TeamsFx()`.
-3. Replace `new M365TenantCredential()` with `new TeamsFx(IdentityType.App)`.
-4. Replace `new OnBehalfOfUserCredential(ssoToken)` with `new TeamsFx().setSsoToken(ssoToken)`.
-5. Pass the instance of `TeamsFx` to helper functions to replace credential instance.
+1. Instead of calling `loadConfiguration()`, use the specific auth config classes to customize the settings for each credential type. For example, use `AppCredentialAuthConfig` for `AppCredential`, `OnBehalfOfUserCredentialAuthConfig` for `OnBehalfOfUserCredential`, and `TeamsUserCredentialAuthConfig` for `TeamsUserCredential`.
+2. Replace `new TeamsUserCredential()` with `new TeamsUserCredential(authConfig)`.
+3. Replace `new M365TenantCredential()` with `new AppCredential(authConfig)`.
+4. Replace `new OnBehalfOfUserCredential(ssoToken)` with `new OnBehalfOfUserCredential(authConfig)`.
## See also