Simply send messages to your Mattermost team using incoming webhooks.
Getting the API key
Login to your Mattermost team site and go to Account Settings -> Integrations
Next to Incoming Webhooks click Edit
Select the channel or private group to receive webhook payloads, then click Add to create the webhook
The API key is the last part of the URL (eg: u2x8rkfugj8zbqby9pw3huqnyc)
Usage
Basic usage
matterhook is very simple and efficient to use:
from matterhook import Webhook
# mandatory parameters are url and your webhook API key
mwh = Webhook('https://mattermost.MYCOMPANY.com', 'API_KEY')
# send a message to the API_KEY's channel
mwh.send('coconut webhook message')
Advanced usage
from matterhook import Webhook
# mandatory parameters are url and your webhook API key
mwh = Webhook('https://mattermost.MYCOMPANY.com', 'API_KEY')
# personalized bot name and icon
mwh.username = 'cocobot'
mwh.icon_url = 'http://3.bp.blogspot.com/-bEcLJDp_u7o/UJKPRGazv6I/AAAAAAAABGY/75z_6bbegao/s1600/coconut-oil-alzheimers-study.jpg'
# send a message to the specified channel
mwh.send('coconut is da thruth', channel='special_channel')
# override the username for this message
mwh.send('secret message', channel='special_channel', username='secret_user')
# for convenience, you can also do this...
mwh['incredible_channel'] = 'incredible message'
# ...and even this
mwh['incredible_channel'] = {'text': 'incredible message', username='incredible user'}
# or create fancy messages using attachments (https://docs.mattermost.com/developer/message-attachments.html)
attachments = []
message = {}
message['color'] = '#88fc03'
message['image_url'] = 'https://about.mattermost.com/wp-content/uploads/2017/08/Mattermost-Logo-Blue.svg'
message['fallback'] = 'A fallback message'
markdown_msg = '#### Title\n'
markdown_msg += 'This is a line of text\n'
markdown_msg += 'All markdown syntax works in attachments, like tables :\n'
markdown_msg += '''
| name | date |
|------------------------------------|--------|
| Monty Python and the Holy Grail | 1975 |
| Monty Python's Life of Brian | 1979 |
| Monty Python's The Meaning of Life | 1983 |
'''
message['text'] = markdown_msg
attachments.append(message)
mwh.send(attachments=attachments)
Testing
Install the test dependencies first:
pip install pytest pytest-cov
Run the tests:
pytest tests/
Run the tests with code coverage:
pytest tests/ --cov=matterhook --cov-report=term-missing
Metadata
Release files for matterhook 0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| matterhook-0.3.tar.gz | 6.8 kB | Details |
Release files / matterhook-0.3.tar.gz
| Download URL | matterhook-0.3.tar.gz |
|---|---|
| Size | 6.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e6adc3782b5fc6d4379cfb7c72ed524592bf7299fefda905d34ac0e8d5b3278
|
|
BLAKE2b-256 checksum How to use checksums |
a17997a00847852f23552a8f9b7ea65c61cbdd8969bbc6b1de36278a90e46f98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.5
|