Skip to main content

Format messages and post to Microsoft Teams.

Project description

pymsteams

Python Wrapper Library to send requests to Microsoft Teams Webhooks. Microsoft refers to these messages as Connector Cards. A message can be sent with only the main Connector Card, or additional sections can be included into the message.

This library uses Webhook Connectors for Microsoft Teams. Please visit the following Microsoft Documentation link for instructions on how to obtain the correct url for your Channel: https://dev.outlook.com/Connectors/GetStarted#creating-messages-through-office-365-connectors-in-microsoft-teams

Please refer to the Microsoft Documentation for the most up to date screenshots. https://dev.outlook.com/connectors/reference

Creating ConnectorCard Messages

This is the simplest implementation of pymsteams. It will send a message to the teams webhook url with plain text in the message.

import pymsteams

# You must create the connectorcard object with the Microsoft Webhook URL
myTeamsMessage = pymsteams.connectorcard("<Microsoft Webhook URL>")

# Add text to the message.
myTeamsMessage.text("this is my text")

# send the message.
myTeamsMessage.send()

Optional Formatting Methods for Cards

Add a title

myTeamsMessage.title("This is my message title")

Add a link button

myTeamsMessage.addLinkButton("This is the button Text", "https://github.com/rveachkc/pymsteams/")

Change URL

This is useful in the event you need to post the same message to multiple rooms.

myTeamsMessage.newhookurl("<My New URL>")

Preview your object

This is a simple print command to view your connector card message object before sending.

myTeamsMessage.printme()

Adding sections to the Connector Card Message

To create a section and add various formatting elements

# create the section
myMessageSection = pymsteams.cardsection()

# Section Title
myMessageSection.title("Section title")

# Activity Elements
myMessageSection.activityTitle("my activity title")
myMessageSection.activitySubtitle("my activity subtitle")
myMessageSection.activityImage("http://i.imgur.com/c4jt321l.png")
myMessageSection.activityText("This is my activity Text")

# Facts are key value pairs displayed in a list.
myMessageSection.addFact("this", "is fine")
myMessageSection.addFact("this is", "also fine")

# Section Text
myMessageSection.text("This is my section text")

# Section Images
myMessageSection.addImage("http://i.imgur.com/c4jt321l.png", ititle="This Is Fine")

# Add your section to the connector card object before sending
myTeamsMessage.addSection(myMessageSection)

You may also add multiple sections to a connector card message as well.

# Create Section 1
Section1 = pymsteams.cardsection()
Section1.text("My First Section")

# Create Section 2
Section2 = pymsteams.cardsection()
Section2.text("My First Section")

# Add both Sections to the main card object
myTeamsMessage.addSection(Section1)
myTeamsMessage.addSection(Section2)

# Then send the card
myTeamsMessage.send()

Please use Github issues to report any bugs or request enhancements.

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

pymsteams-0.1.8.tar.gz (4.0 kB view details)

Uploaded Source

File details

Details for the file pymsteams-0.1.8.tar.gz.

File metadata

  • Download URL: pymsteams-0.1.8.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for pymsteams-0.1.8.tar.gz
Algorithm Hash digest
SHA256 04fe915425c6f451efc55162a659d14ca6c67beb22ca6c22a562fcd44626f00c
MD5 2dedb8bc0179b62ff0435621c5133b22
BLAKE2b-256 eb9ce3dc1251079112f6830a74819a71aa9a33e99bc8e34ee265e0e3c27b8fdc

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