Skip to main content

Post a payload to specfied url

Project description

ops-py-message-handler

Description

Posts a payload / message to an url (webhook).

Installation

pip install ops-py-message-handler

Usage

Slack Workflow

Note: In the example code below a Slack Automation Workflow has already been built. The message part of the Slack Workflow has been defined to receive a Title and a Text variable. Export your slack webhook:
export WEBHOOK="12345blablabla...."

Example code:

#!/usr/bin/env python

import os
from message_handler import message_handler as mh

WEBHOOK = os.getenv("WEBHOOK")
heading = "This is the heading"
message = "This is the message"

handler = mh.MessageHandler(WEBHOOK)
handler.build_payload(Title=heading, Text=message)
handler.post_payload()
response_code = handler.get_response_code()
print(response_code)

Slack App

Export your slack webhook:
export WEBHOOK="12345blablabla...."

Example code:

#!/usr/bin/env python

import os
from message_handler import message_handler as mh

WEBHOOK = os.getenv("WEBHOOK")
heading = "This is the heading"
message = "This is the message"
payload = {"text": f"*{heading}*\n```{message}```"}

handler = mh.MessageHandler(WEBHOOK)
handler.set_payload(payload)
handler.post_payload()
response_code = handler.get_response_code()
print(response_code)

MS Teams

Export your MS Teams webhook:
export WEBHOOK="12345blablabla...."

Example code:

#!/usr/bin/env python

import os
from message_handler import message_handler as mh

WEBHOOK = os.getenv("WEBHOOK")
payload = {
  "@type": "MessageCard",
  "@context": "http://schema.org/extensions",
  "themeColor": "0076D7",
  "summary": "-",
  "sections": [
    {
      "activityTitle": "Super Secret Key Vault",
      "activitySubtitle": "",
      "activityImage": "",
      "facts": [],
      "markdown": True
    },
    {
      "startGroup": True,
      "text": """<table bordercolor='black' border='2'>
    <thead>
    <tr style='background-color : Teal; color: White'>
        <th>Secret Name</th>
        <th>Last Updated</th>
        <th>Expiration</th>
        <th>Comment</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>SuperSecret</td>
        <td>2023-10-31</td>
        <td>2024-06-25</td>
        <td>Will expire in 201 days. Updated 37 days ago.</td>
    </tr>
    </tbody>
</table>"""
    }
  ]
}

handler = mh.MessageHandler(WEBHOOK)
handler.set_payload(payload)
handler.post_payload()
response_code = handler.get_response_code()
print(response_code)

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

ops-py-message-handler-1.0.3.tar.gz (4.1 kB view hashes)

Uploaded Source

Built Distribution

ops_py_message_handler-1.0.3-py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 3

Supported by

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