A Python connector for sending messages to Microsoft Teams channels via webhooks.
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.
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.
Install the library via pip:
pip install msteams_con
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)
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>
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.
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
If you want to contribute:
- Fork the repository.
- Create a feature branch.
- Submit a pull request with a clear description of the changes.