Hubot Adapter for Mattermost using the Web API and Websockets.
Use this Hubot Adapter to connect to your Mattermost server. You can invite your bot to any channel just as a regular user. It will listen and perform your commands. The adapter uses mattermost-client for all low level Mattermost communication.
Creating a bot from scratch is easy:
npm install -g yo generator-hubot
yo hubot --adapter matteruser
Follow the instructions to set up your bot.
The adapter requires the following environment variables to be defined before your Hubot instance will start:
Variable | Required | Description |
---|---|---|
MATTERMOST_HOST | Yes | The Mattermost host e.g. mm.yourcompany.com |
MATTERMOST_GROUP | Yes | The team/group on your Mattermost server e.g. core |
MATTERMOST_USER | Yes | The Mattermost user account name e.g. hubot@yourcompany.com |
MATTERMOST_PASSWORD | Yes | The password of the user e.g. s3cr3tP@ssw0rd! |
MATTERMOST_WSS_PORT | No | Overrides the default port 443 for websocket (wss:// ) connections |
MATTERMOST_TLS_VERIFY | No | (default: true) set to 'false' to allow connections when certs can not be verified (ex: self-signed, internal CA, ... - MITM risks) |
MATTERMOST_USE_TLS | No | (default: true) set to 'false' to switch to http/ws protocols |
MATTERMOST_LOG_LEVEL | No | (default: info) set log level (also: debug, ...) |
The below example assumes you have created a user hubot@yourcompany.com
with username hubot
and password s3cr3tP@ssw0rd!
on your Mattermost server in the core
team reachable on URL https://mm.yourcompany.com/core
export MATTERMOST_HOST=mm.yourcompany.com
export MATTERMOST_GROUP=core
export MATTERMOST_USER=hubot@yourcompany.com
export MATTERMOST_PASSWORD=s3cr3tP@ssw0rd!
For a complete working application that uses this client checkout the Hubot Mattermost adapter
Recently Mattermost has received a major upgrade that introduces backwards incompatible changes. Since hubot-matteruser
is using user credentials for interacting with the Mattermost API this will break your Hubot if you upgrade your Mattermost server without also upgrading the mattermost-client
version it uses.
Find the package.json
file in your Hubot directory and look for the line in the dependencies
section that references hubot-matteruser
. Change the verion so it points to ^3.3.0
of the client. Example:
...
"dependencies": {
"hubot-matteruser": "^3.3.1"
},
...
The MIT License. See LICENSE
file.