-
Notifications
You must be signed in to change notification settings - Fork 192
Collaborating on TeamsFx Project
Previous version of Teams Toolkit is not easy for multiple users to develop the same project due to missing privilege to access Teams APP and Microsoft Entra APP. If multiple developers want to share remote resources and work together, they need to manually handle permissions of Teams App and Microsoft Entra APP which need deep understanding the low-level details about the TeamsFx project.
Teams Toolkit now natively support add other collaborators for TeamsFx project which is much easy and straightforward for collaborative development.
-
To use collaboration feature, you need to login M365 and Azure account(Only needed for Tab project, and for SPFX project, it is not needed) and your TeamsFx project should be provisioned first
-
In the Teams Toolkit panel, click ENVIRONMENT, and expand an environment name which you want to work with others, then you can see Manage Collaborator button:
-
Add App Owners:
- Click Manage Collaborator button
- Select
Add App Owners
- Select the apps you want to add app owners for
- (Optional) Select and confirm Teams
manifest.json
file - (Optional) Select and confirm Microsoft Entra app
aad.manifest.json
file - Input the M365 account email address you want to add as app owner (this account should be in the same tenant with your M365 account)
-
List App Owners:
- Click Manage Collaborator button
- Select
List App Owners
- Select the apps you want to add app owners for
- (Optional) Select and confirm Teams
manifest.json
file - (Optional) Select and confirm Microsoft Entra app
aad.manifest.json
file
-
Share your project with the collaborator:
- Commit your project to GitHub repository
- Collaborator clone the project to his computer
- If your project contains Bot capability, share secret file
env\.env.[Environment-Name].user
to the collaborator, and collaborator should copy the secret file to same place in the project
-
Collaborator login to M365 account
-
For Tab project, login Azure account which at least has contributor permission for all the Azure resources. Project owner can refer this link to assign Azure roles using the Azure portal.
-
For SPFX project, project owner needs to manually setup access policy via SharePoint admin center, please refer to this link for more details.
-
Now collaborator can develop, provision and deploy the project
Teams Toolkit CLI provides teamsFx permission
Commands for collaboration scenario.
teamsFx permission Commands |
Descriptions |
---|---|
teamsfx permission grant |
Grant permission for collaborator's M365 account for the project |
teamsfx permission status |
Show permission status for the project |
-
(Required) Provide env name.
-
(Required) Provide collaborator's M365 email address. Note that the collaborators's account should be in the same tenant with creator.
-
Provide path of your Teams app
manifest.json
file. -
Provide path of your Microsoft Entra
aad.manifest.json
file.
-
(Required) Provide env name.
-
With this flag, Teams Toolkit CLI will print out all collaborators for this project.
-
Provide path of your Teams app
manifest.json
file. -
Provide path of your Microsoft Entra
aad.manifest.json
file.
Here are some examples for you to better handling permission for TeamsFx
projects.
teamsfx permission grant --env dev --email [email protected] --teams-app-manifest your-path-of-teams-app-manifest --aad-app-manifest your-path-of-aad-app-manifest
teamsfx permission status --env dev --teams-app-manifest your-path-of-teams-app-manifest --aad-app-manifest your-path-of-aad-app-manifest
teamsfx permission status --env dev --list-all-collaborators --teams-app-manifest your-path-of-teams-app-manifest --aad-app-manifest your-path-of-aad-app-manifest
-
Azure related permissions should be handled manually by the Azure subscription administrator via Azure portal, different Azure account should at least have contributor role for the subscription so that developers can work together to provision and deploy TeamsFx project. For more information about how to assign Azure roles using the Azure portal, you can refer this doc.
-
If your project is SPFX project, you need to manually setup access policy via SharePoint admin center, please refer to this link for more details.
-
If the project contains Bot capability, creator of the project should share secret file
.fx\states\[Environment-Name].userdata
with the collaborator, otherwise collaborator will receive errors as below when provision:
Build Custom Engine Copilots
- Build a basic AI chatbot for Teams
- Build an AI agent chatbot for Teams
- Expand AI bot's knowledge with your content
Scenario-based Tutorials
- Send notifications to Teams
- Respond to chat commands in Teams
- Respond to card actions in Teams
- Embed a dashboard canvas in Teams
Extend your app across Microsoft 365
- Teams tabs in Microsoft 365 and Outlook
- Teams message extension for Outlook
- Add Outlook Add-in to a Teams app
App settings and Microsoft Entra Apps
- Manage Application settings with Teams Toolkit
- Manage Microsoft Entra Application Registration with Teams Toolkit
- Use an existing Microsoft Entra app
- Use a multi-tenant Microsoft Entra app
Configure multiple capabilities
- How to configure Tab capability within your Teams app
- How to configure Bot capability within your Teams app
- How to configure Message Extension capability within your Teams app
Add Authentication to your app
- How to add single sign on in Teams Toolkit for Visual Studio Code
- How to enable Single Sign-on in Teams Toolkit for Visual Studio
Connect to cloud resources
- How to integrate Azure Functions with your Teams app
- How to integrate Azure API Management
- Integrate with Azure SQL Database
- Integrate with Azure Key Vault
Deploy apps to production