Mattermost Azure DevOps Plugin
Table of Contents
License
See the LICENSE file for license rights and limitations.
Overview
This plugin integrates the services of Azure DevOps in Mattermost. For a stable production release, please download the latest version from the Github Release and follow the instructions to install and configure the plugin.
Features
-
oAuth: A user may connect or disconnect to their Azure DevOps account using the slash command below.
- /azuredevops connect
- /azuredevops disconnect
-
Link a project: You can link a project existing on Azure DevOps using the slash command below.
- /azuredevops link <project link>
-
Unink a project: You can unlink a project appearing in the RHS under "Linked Projects".
-
Right-hand sidebar (RHS) shows the list of projects linked to your current channel. Each project will have an option to unlink a project from the current channel.
-
Preview work item: A preview of the work item will be created when a work item URL is posted in a channel.
Installation
- Go to the releases page of this GitHub repository and download the latest release for your Mattermost server.
- Upload this file to the Mattermost System Console > Plugins > Management page to install the plugin. To learn more about how to upload a plugin, see the documentation.
- Enable the plugin from System Console > Plugins > Mattermost Azure Devops plugin.
Setup
Connecting to Azure Devops
- Enter slash command
/azuredevops connect
.
- You will get a response with a link to connect your Azure DevOps account.
- Click on that link. If it asks for a login, enter your credentials and connect to your account.
Development
Setup
Make sure you have the following components installed:
Building the plugin
Run the following command in the plugin repo to prepare a compiled, distributable plugin zip:
make dist
After a successful build, a .tar.gz
file in /dist
folder will be created which can be uploaded to Mattermost. To avoid having to manually install your plugin, deploy your plugin using one of the following options.
Deploying with Local Mode
If your Mattermost server is running locally, you can enable local mode to streamline deploying your plugin. Edit your server configuration as follows:
{
"ServiceSettings": {
...
"EnableLocalMode": true,
"LocalModeSocketLocation": "/var/tmp/mattermost_local.socket"
},
"ServiceSettings": {
...
"EnableLocalMode": true,
"LocalModeSocketLocation": "/var/tmp/mattermost_local.socket"
}
}
and then deploy your plugin:
make deploy
You may also customize the Unix socket path:
export MM_LOCALSOCKETPATH=/var/tmp/alternate_local.socket
make deploy
If developing a plugin with a web app, watch for changes and deploy those automatically:
export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_TOKEN=j44acwd8obn78cdcx7koid4jkr
make watch
Deploying with credentials
Alternatively, you can authenticate with the server's API with credentials:
export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_USERNAME=admin
export MM_ADMIN_PASSWORD=password
make deploy
or with a personal access token:
export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_TOKEN=j44acwd8obn78cdcx7koid4jkr
make deploy