Skip to main content

A pytest plugin for sending test results to Slack and Telegram

Project description

pytest-alerts

A pytest plugin that sends test results to Slack and Telegram with beautiful, customizable formatting.

PyPI version Python Versions

Overview

pytest-alerts is a powerful pytest plugin that automatically sends your test results to Slack and Telegram. It provides:

  • 📲 Real-time test notifications to Slack and Telegram
  • 🎨 Modern, visually appealing message formatting
  • 📊 Comprehensive test statistics with progress bars
  • 🔍 Configurable error reporting and details
  • ⚙️ Extensive customization options
  • 🔄 Full compatibility with pytest-xdist

Quick Start

Installation

pip install pytest-alerts

Basic Usage

  1. Configure your messaging platform:

    For Slack:

    pytest --slack_webhook=YOUR_WEBHOOK_URL
    

    For Telegram:

    pytest --telegram_bot_token=BOT_TOKEN --telegram_chat_id=CHAT_ID
    
  2. Run with both platforms:

    pytest --slack_webhook=URL --telegram_bot_token=TOKEN --telegram_chat_id=ID
    

Configuration Options

Common Options

Option Description Default
--show_details Include error details in notifications False
--hide_errors Hide error messages from notifications False

Slack-specific Options

Option Description Required
--slack_webhook Slack webhook URL Yes
--slack_icon Bot icon emoji No

Telegram-specific Options

Option Description Required
--telegram_bot_token Bot API token Yes
--telegram_chat_id Target chat ID Yes

Message Formatting

Default Format

Messages include:

  • Test run summary (passed/failed/skipped)
  • Progress bars for visual representation
  • Duration of test run
  • Error details (if enabled)
  • Project/branch information (if available)

Customization

  • Use --show_details for full error traces
  • Use --hide_errors to omit error messages
  • Platform-specific formatting options available

Advanced Usage

CI/CD Integration

Example GitHub Actions workflow:

steps:
  - uses: actions/checkout@v2
  - name: Run tests with notifications
    run: |
      pip install pytest-alerts
      pytest --slack_webhook=${{ secrets.SLACK_WEBHOOK }} --telegram_bot_token=${{ secrets.TELEGRAM_BOT_TOKEN }} --telegram_chat_id=${{ secrets.TELEGRAM_CHAT_ID }}

Limitations

  • Maximum message size varies by platform
  • Rate limits apply (platform-specific)
  • Some formatting options are platform-dependent

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Changelog

See CHANGELOG.md for version history and 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

pytest_alerts-1.6.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytest_alerts-1.6.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file pytest_alerts-1.6.0.tar.gz.

File metadata

  • Download URL: pytest_alerts-1.6.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.10

File hashes

Hashes for pytest_alerts-1.6.0.tar.gz
Algorithm Hash digest
SHA256 621125d26bdab0b7649d25948b153b9812758705b44e8822bbb649592a468a27
MD5 69a63181b0f39f57398e43755c1b4d87
BLAKE2b-256 86e0cb9fa4721efd415ed2df5b1036489c1907aa6adea60f739e05b24c65b72e

See more details on using hashes here.

File details

Details for the file pytest_alerts-1.6.0-py3-none-any.whl.

File metadata

  • Download URL: pytest_alerts-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.10

File hashes

Hashes for pytest_alerts-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 11e8906a191e0df306e194662ee0f0eaa4ec877efe5ded0932d9564e9c34bc50
MD5 64fa01a1749620d3bec38346c43bc928
BLAKE2b-256 bbc1a9b367d932a6be3e52d3dd982040425b3badb86a8fbd4f19be7b5217b72f

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