Skip to main content

Interact with Mattermost incoming webhooks easily.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matterhook-0.3.tar.gz (6.8 kB view details)

Uploaded Source

File details

Details for the file matterhook-0.3.tar.gz.

File metadata

  • Download URL: matterhook-0.3.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for matterhook-0.3.tar.gz
Algorithm Hash digest
SHA256 6e6adc3782b5fc6d4379cfb7c72ed524592bf7299fefda905d34ac0e8d5b3278
MD5 5d20355a1843ff8bf7e2c51f60501cb8
BLAKE2b-256 a17997a00847852f23552a8f9b7ea65c61cbdd8969bbc6b1de36278a90e46f98

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page