mattermost / mattermost-plugin-msteams-meetings

Mattermost Plugin for Microsoft Teams Meetings

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Disclaimer

This repository is community supported and not maintained by Mattermost. Mattermost disclaims liability for integrations, including Third Party Integrations and Mattermost Integrations. Integrations may be modified or discontinued at any time.

Mattermost MS Teams Meetings Plugin

Build Status Code Coverage Release HW

Maintainer: @mickmister

Start and join voice calls, video calls, and use screen sharing with your team members via MS Teams Meetings.

Admin guide

Installation

The Mattermost MS Teams Meetings plugin is provided in the Mattermost Plugin Marketplace. Once enabled, selecting the video icon in a Mattermost channel invites team members to join an MS Teams meeting, hosted using the credentials of the user who initiated the call.

Requirements

Mattermost Server v5.26+ is required.

Marketplace installation

  1. In Mattermost, go to Main Menu > Plugin Marketplace.
  2. Search for "MS Teams" or manually find the plugin from the list and select Install.
  3. After the plugin is downloaded and installed, select Configure.

Manual installation

If your server doesn't have access to the internet, you can download the latest plugin binary release and upload it to your server via System Console > Plugin Management. The releases on this page are the same versions available on the Plugin Marketplace.

Configuration

Step 1: Create a Mattermost App in Azure

  1. Sign in to the Azure portal using an admin Azure account.

  2. Navigate to App Registrations.

  3. Select New registration at the top of the page.

  4. Fill out the form with the following values:

    • Name: Mattermost MS Teams Meetings Plugin
    • Supported account types: Default value (Single tenant)
    • Redirect URI: https://(MM_SITE_URL)/plugins/com.mattermost.msteamsmeetings/oauth2/complete. Replace (MM_SITE_URL) with your Mattermost server's URL.
  5. Select Register to submit the form.

  6. Navigate to Certificates & secrets in the left pane.

  7. Select New client secret > Add, then copy the new secret in the bottom right corner of the screen. We'll use this value later in the Mattermost System Console.

  8. Navigate to API permissions in the left pane.

  9. Select Add a permission and choose Microsoft Graph in the right pane.

  10. Select Delegated permissions, and scroll down to select the OnlineMeetings.ReadWrite permissions.

  11. Select Add permissions to submit the form.

  12. Select Grant admin consent for... to grant the permissions for the application.

You're all set for configuration inside of the Azure portal.

Step 2: Configure plugin settings

  1. Copy the Client ID and Tenant ID from the Azure portal.

  2. Go to System Console > Plugins > MS Teams Meetings.

  3. Enter the following values in the fields provided:

    • tenantID - Copy from the Azure portal
    • clientID - Copy from the Azure portal
    • Client Secret - Copy from the Azure portal (generated in Certificates & secrets earlier in these instructions)
  4. Choose Save to apply the configuration.

Onboard users

When you’ve tested the plugin and confirmed it’s working, notify your team so they can get started. Copy and paste the text below, edit it to suit your requirements, and send it out.

Hi team,

The MS Teams Meetings plugin has been configured so you can use it for calls from within Mattermost. To get started, run the /mstmeetings connect slash command from any channel within Mattermost. Visit the documentation for more information.

User guide

Connect an MS Teams Account to Mattermost

Use the /mstmeetings connect slash command to connect an MS Teams account to Mattermost.

Start a call

Start a call either by selecting the video icon in a Mattermost channel or by using the /mstmeetings start slash command. Every meeting you start creates a new meeting room in MS Teams. If you start two meetings less than 30 seconds apart you'll be prompted to confirm that you want to create the meeting.

Disconnect an MS Teams account from Mattermost

Use the /mstmeetings disconnect slash command to disconnect an MS Teams account from Mattermost.

Development

Environment

This plugin contains both a server and web app portion. Read our documentation about the Developer Workflow and Developer Setup for more information about developing and extending plugins.

Server

Inside the /server directory, you will find the Go files that make up the server-side of the plugin. Within that directory, build the plugin like you would any other Go application.

Web app

Inside the /webapp directory, you will find the JavaScript files that make up the client-side of the plugin. Within that directory, modify files and components as necessary. Test your syntax by running npm run build.

Deploying to a Mattermost local server

It's on the Developer setup, but keep in mind It's necessary to enable PluginUploads.

Then you need to set these envvars to be able to upload the plugin:

export MM_SERVICESETTINGS_SITEURL=https://localhost:8065/   # Or other if needed
export MM_ADMIN_USERNAME=<MYUSERNAME>
export MM_ADMIN_PASSWORD=<MYPASSWORD>

Then run make deploy or MM_DEBUG=1 make deploy in case you want debugging from the root of the mattermost-plugin-msteams-meetings project.

Contact us

About

Mattermost Plugin for Microsoft Teams Meetings

License:Other


Languages

Language:Go 59.1%Language:TypeScript 21.7%Language:Makefile 13.7%Language:JavaScript 5.5%