Skip to main content

msteams-connector is a Python-based tool to simplify the process of sending messages, adaptive card to Microsoft Teams channels via incoming webhooks. Whether you’re automating release notifications, error alerts, or general messages, this connector provides a seamless interface for working with Microsoft Teams.

Project description

msteams-connector

A Python connector for sending messages to Microsoft Teams channels via webhooks.

Python MSTeams PyPI PyPI - Downloads GitHub CI codecov

Overview

msteams-connector is a Python-based library to simplify the process of sending messages, adaptive cards to Microsoft Teams channels via incoming webhooks. Whether you need to automate notifications, release announcements, or send custom messages, this connector provides a seamless interface for working with Microsoft Teams.

Prerequisites

Get MSTeams Webhook

Before using this package, you will need to obtain an MS Teams webhook URL. Follow the instructions in the Microsoft Teams Documentation to create a new incoming webhook in your MS Teams channel.

Installation

Install the library via pip:

pip install msteams_con

Usage

Example Code

Here is an example of how to send a basic text message to an MS Teams channel using this library:

from msteams_con import *
import os

hook_url = os.environ["MSTEAMS_WEBHOOK"]

msteams = MSTeamsConnector(hook_url)
payload = msteams.generate_text_payload("Hello World!")
msteams.send_payload(payload)

CLI

The package also provides CLI commands for sending messages to MS Teams.

Send with our release card template

msteams-connector send_release_card --version <software-release-version> --hook_url <your_webhook_url>

Send a simple text message

msteams-connector send_text --text "Hello World!" --hook_url <your_webhook_url> 

Developer Setup

If you want to contribute or modify the code, follow these steps to set up the project locally:

git clone https://github.com/cloud-bees/msteams-connector.git
cd msteams-connector
export PYTHONPATH=$(pwd)
export MSTEAMS_WEBHOOK=<your_webhook_url>
pip install -e ".[dev]"

This installs the package in editable mode along with all development dependencies.

Running Tests

To run tests and check code quality, use the following commands:

Pytest

Run the unit tests using pytest:

pytest tests -v -s --log-cli-level=DEBUG

You can also run pytest in Visual Studio Code Debug mode. Make sure to add the WEBHOOK environment variable in .vscode/launch.json and set the Python interpreter correctly.

Ruff for Linting and Formatting

To check and autofix formatting issues, use ruff:

ruff check --fix
ruff format

Contribution Guidelines

If you want to contribute:

  1. Fork the repository.
  2. Create a feature branch.
  3. Submit a pull request with a clear description of the changes.

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

msteams_con-0.0.9a0.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

msteams_con-0.0.9a0-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file msteams_con-0.0.9a0.tar.gz.

File metadata

  • Download URL: msteams_con-0.0.9a0.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for msteams_con-0.0.9a0.tar.gz
Algorithm Hash digest
SHA256 38dc016c65068b3a0c57e1a7666d94c3287779e539527e9219304cdb2bad4f4b
MD5 46cb8053e2aa10832671aa898b3ccc0c
BLAKE2b-256 4ad55e24f48dc3efdab7aaaf60552253f5c9d76712b7f67dc4e6708cd0094a89

See more details on using hashes here.

File details

Details for the file msteams_con-0.0.9a0-py3-none-any.whl.

File metadata

File hashes

Hashes for msteams_con-0.0.9a0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ab415f3a10e0f4f65f36dc8a339be544f35c1a638dc64e1d46d66373c858997
MD5 228e8f47d44663995199b2153467fd18
BLAKE2b-256 e36c8cf4f7ab24e5d0601c2314ee68b3f17fd32911a3080abaf3c116c4ac1b2c

See more details on using hashes here.

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