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.7.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

ops_py_message_handler-1.0.7-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file ops_py_message_handler-1.0.7.tar.gz.

File metadata

File hashes

Hashes for ops_py_message_handler-1.0.7.tar.gz
Algorithm Hash digest
SHA256 d368e31a5cfa179b85b24c98820bd7156f0f050393a7f9e4f08f7afdc941b5aa
MD5 cc479bc335b38ded88aa1b9e8061ed75
BLAKE2b-256 eb7823e43869b585a7cc76afb627f42a4f744bbe8cdf89c7b71dc24a6339afeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ops_py_message_handler-1.0.7.tar.gz:

Publisher: build_pypi.yml on equinor/ops-py-message-handler

Attestations:

File details

Details for the file ops_py_message_handler-1.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for ops_py_message_handler-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 65fab46592ae02cf6822c699612c0a624575df49358e70712c4664d41a1e072b
MD5 cdcbea1dff3ceb095f59adaf03f61ccf
BLAKE2b-256 841485a056fd058e19ba95e44225b79f85151b6c7d08cad33edd42da1bf910e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ops_py_message_handler-1.0.7-py3-none-any.whl:

Publisher: build_pypi.yml on equinor/ops-py-message-handler

Attestations:

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