Skip to main content

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)

Source distribution for matterhook 0.3
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

Release history Release notifications | RSS feed

This release

0.3 This release

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page