larkox / mattermost-plugin-msteams-meetings-1

Mattermost Plugin for Microsoft Teams Meetings

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mattermost MS Teams Meetings Plugin

Build Status Code Coverage Release HW

Maintainer: @larkox

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

Usage

Once enabled, clicking 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.

Screenshot

License

This repository is licensed under the Mattermost Source Available License and requires a valid Enterprise E20 license. See Mattermost Source Available License to learn more.

Configuration

Step 1: Create Mattermost App in Azure

Sign into portal.azure.com using an admin Azure account.

Azure Active Directory

Navigate to App Registrations

Click New registration at the top of the page.

Then 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 Site URL. Then submit the form by clicking Register.

Navigate to Certificates & secrets in the left pane.

Click New client secret. Then click Add, and copy the new secret on the bottom right corner of the screen. We'll use this value later in the Mattermost admin console.

Navigate to API permissions in the left pane.

Click Add a permission, then click Microsoft Graph in the right pane.

Click Delegated permissions, and scroll down to select the following permissions:

  • OnlineMeetings.ReadWrite

Submit the form by clicking Add permissions at the bottom.

Click Grant admin consent for... to grant the permissions for the application. You're all set for configuration inside of Azure.

Step 2: Configure Plugin Settings

Copy the Client ID and Tenant ID from the Azure portal

System Console > PLUGINS > Microsoft Teams Meetings

  • tenantID - copy from Azure App
  • clientID - copy from Azure App
  • Client Secret - copy from Azure App (Generated in Certificates & secrets, earlier in these instructions)

Development

This plugin contains both a server and web app portion.

Use make dist to build distributions of the plugin that you can upload to a Mattermost server for testing.

Use make check-style to check the style for the whole plugin.

Server

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

Web App

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

About

Mattermost Plugin for Microsoft Teams Meetings

License:Other


Languages

Language:Go 54.0%Language:TypeScript 29.7%Language:Makefile 12.6%Language:JavaScript 3.8%