A pytest plugin to notify test results to a Discord channel.
Project description
.. contents:: **pytest-discord**
:backlinks: top
:depth: 2
Summary
============================================
.. image:: https://badge.fury.io/py/pytest-discord.svg
:target: https://badge.fury.io/py/pytest-discord
:alt: PyPI package version
.. image:: https://img.shields.io/pypi/pyversions/pytest-discord.svg
:target: https://pypi.org/project/pytest-discord
:alt: Supported Python versions
.. image:: https://img.shields.io/pypi/implementation/pytest-discord.svg
:target: https://pypi.org/project/pytest-discord
:alt: Supported Python implementations
.. image:: https://github.com/thombashi/pytest-discord/workflows/Tests/badge.svg
:target: https://github.com/thombashi/pytest-discord/actions?query=workflow%3ATests
:alt: Linux/macOS/Windows CI status
.. image:: https://coveralls.io/repos/github/thombashi/pytest-discord/badge.svg?branch=master
:target: https://coveralls.io/github/thombashi/pytest-discord?branch=master
:alt: Test coverage: coveralls
A pytest plugin to notify test results to a Discord channel.
Installation
============================================
::
pip install pytest-discord
Quick start
============================================
Making a Discord webhook
--------------------------------------------
https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks
Usage
--------------------------------------------
Set a webhook URL when executing ``pytest`` via ``--discord-webhook`` option:
::
$ pytest --discord-webhook=<https://discordapp.com/api/webhooks/...>
.. figure:: https://cdn.jsdelivr.net/gh/thombashi/pytest-discord@master/ss/pytest-discord.png
:scale: 80%
:alt: https://github.com/thombashi/pytest-discord/blob/master/ss/pytest-discord.png
Notification message example
Or, set a webhook URL to an environment variable ``PYTEST_DISCORD_WEBHOOK``:
::
$ export PYTEST_DISCORD_WEBHOOK=<https://discordapp.com/api/webhooks/...>
$ pytest
Or, you can specify webhook URL of a discord channel via ini-options (described later).
Increse the verbosity level
--------------------------------------------
::
$ pytest --discord-verbose=1
.. figure:: https://cdn.jsdelivr.net/gh/thombashi/pytest-discord@master/ss/pytest-discord_verbose.png
:scale: 80%
:alt: https://github.com/thombashi/pytest-discord/blob/master/ss/pytest-discord_verbose.png
Notification message example
Notification messages may omit information caused by Discord limitations (especially when errors occurred).
You can get full messages as an attached markdown file with ``--discord-attach-file`` option
Options
============================================
Command options
--------------------------------------------
::
notify test results to a discord channel:
--discord-webhook=WEBHOOK_URL
discord webhook url of a discord channel to notify
pytest results. you can also specify the value with
PYTEST_DISCORD_WEBHOOK environment variable.
--discord-verbose=VERBOSITY_LEVEL
verbosity level for pytest-discord. if not set, using
verbosity level of pytest.
defaults to 0.
you can also specify the value with
PYTEST_DISCORD_VERBOSE environment variable.
--discord-username=DISCORD_USERNAME
name for a message. defaults to pytest-discord. you can
also specify the value with PYTEST_DISCORD_USERNAME
environment variable.
--discord-success-icon=ICON_URL
url to an icon of a successful run. you can also specify
the value with PYTEST_DISCORD_SUCCESS_ICON environment
variable.
--discord-skip-icon=ICON_URL
url to an icon of a skipped run. you can also specify
the value with PYTEST_DISCORD_SKIP_ICON environment
variable.
--discord-fail-icon=ICON_URL
url to an icon of a failed run. you can also specify the
value with PYTEST_DISCORD_FAIL_ICON environment
variable.
--discord-attach-file
post pytest results as a markdown file to a discord
channel. you can also specify the value with
PYTEST_DISCORD_ATTACH_FILE environment variable.
ini-options
--------------------------------------------
[pytest] ini-options in the first ``pytest.ini``/``tox.ini``/``setup.cfg``/``pyproject.toml (pytest 6.0.0 or later)`` file found:
::
discord_webhook (string):
discord webhook url of a discord channel to notify
pytest results.
discord_verbose (string):
verbosity level for pytest-discord. if not set, using
verbosity level of pytest. defaults to 0.
discord_username (string):
name for a message. defaults to pytest-discord.
discord_success_icon (string):
url to an icon of a successful run.
discord_skip_icon (string):
url to an icon of a skipped run.
discord_fail_icon (string):
url to an icon of a failed run.
discord_attach_file (bool):
post pytest results as a markdown file to a discord
channel.
:Example of ``pyproject.toml``:
.. code-block:: toml
[tool.pytest.ini_options]
discord_webhook = "https://discordapp.com/api/webhooks/..."
md_report_verbose = 1
:Example of ``setup.cfg``:
.. code-block:: ini
[tool:pytest]
discord_webhook = https://discordapp.com/api/webhooks/...
md_report_verbose = 1
Dependencies
============================================
- Python 3.6+
- `Python package dependencies (automatically installed) <https://github.com/thombashi/pytest-discord/network/dependencies>`__
:backlinks: top
:depth: 2
Summary
============================================
.. image:: https://badge.fury.io/py/pytest-discord.svg
:target: https://badge.fury.io/py/pytest-discord
:alt: PyPI package version
.. image:: https://img.shields.io/pypi/pyversions/pytest-discord.svg
:target: https://pypi.org/project/pytest-discord
:alt: Supported Python versions
.. image:: https://img.shields.io/pypi/implementation/pytest-discord.svg
:target: https://pypi.org/project/pytest-discord
:alt: Supported Python implementations
.. image:: https://github.com/thombashi/pytest-discord/workflows/Tests/badge.svg
:target: https://github.com/thombashi/pytest-discord/actions?query=workflow%3ATests
:alt: Linux/macOS/Windows CI status
.. image:: https://coveralls.io/repos/github/thombashi/pytest-discord/badge.svg?branch=master
:target: https://coveralls.io/github/thombashi/pytest-discord?branch=master
:alt: Test coverage: coveralls
A pytest plugin to notify test results to a Discord channel.
Installation
============================================
::
pip install pytest-discord
Quick start
============================================
Making a Discord webhook
--------------------------------------------
https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks
Usage
--------------------------------------------
Set a webhook URL when executing ``pytest`` via ``--discord-webhook`` option:
::
$ pytest --discord-webhook=<https://discordapp.com/api/webhooks/...>
.. figure:: https://cdn.jsdelivr.net/gh/thombashi/pytest-discord@master/ss/pytest-discord.png
:scale: 80%
:alt: https://github.com/thombashi/pytest-discord/blob/master/ss/pytest-discord.png
Notification message example
Or, set a webhook URL to an environment variable ``PYTEST_DISCORD_WEBHOOK``:
::
$ export PYTEST_DISCORD_WEBHOOK=<https://discordapp.com/api/webhooks/...>
$ pytest
Or, you can specify webhook URL of a discord channel via ini-options (described later).
Increse the verbosity level
--------------------------------------------
::
$ pytest --discord-verbose=1
.. figure:: https://cdn.jsdelivr.net/gh/thombashi/pytest-discord@master/ss/pytest-discord_verbose.png
:scale: 80%
:alt: https://github.com/thombashi/pytest-discord/blob/master/ss/pytest-discord_verbose.png
Notification message example
Notification messages may omit information caused by Discord limitations (especially when errors occurred).
You can get full messages as an attached markdown file with ``--discord-attach-file`` option
Options
============================================
Command options
--------------------------------------------
::
notify test results to a discord channel:
--discord-webhook=WEBHOOK_URL
discord webhook url of a discord channel to notify
pytest results. you can also specify the value with
PYTEST_DISCORD_WEBHOOK environment variable.
--discord-verbose=VERBOSITY_LEVEL
verbosity level for pytest-discord. if not set, using
verbosity level of pytest.
defaults to 0.
you can also specify the value with
PYTEST_DISCORD_VERBOSE environment variable.
--discord-username=DISCORD_USERNAME
name for a message. defaults to pytest-discord. you can
also specify the value with PYTEST_DISCORD_USERNAME
environment variable.
--discord-success-icon=ICON_URL
url to an icon of a successful run. you can also specify
the value with PYTEST_DISCORD_SUCCESS_ICON environment
variable.
--discord-skip-icon=ICON_URL
url to an icon of a skipped run. you can also specify
the value with PYTEST_DISCORD_SKIP_ICON environment
variable.
--discord-fail-icon=ICON_URL
url to an icon of a failed run. you can also specify the
value with PYTEST_DISCORD_FAIL_ICON environment
variable.
--discord-attach-file
post pytest results as a markdown file to a discord
channel. you can also specify the value with
PYTEST_DISCORD_ATTACH_FILE environment variable.
ini-options
--------------------------------------------
[pytest] ini-options in the first ``pytest.ini``/``tox.ini``/``setup.cfg``/``pyproject.toml (pytest 6.0.0 or later)`` file found:
::
discord_webhook (string):
discord webhook url of a discord channel to notify
pytest results.
discord_verbose (string):
verbosity level for pytest-discord. if not set, using
verbosity level of pytest. defaults to 0.
discord_username (string):
name for a message. defaults to pytest-discord.
discord_success_icon (string):
url to an icon of a successful run.
discord_skip_icon (string):
url to an icon of a skipped run.
discord_fail_icon (string):
url to an icon of a failed run.
discord_attach_file (bool):
post pytest results as a markdown file to a discord
channel.
:Example of ``pyproject.toml``:
.. code-block:: toml
[tool.pytest.ini_options]
discord_webhook = "https://discordapp.com/api/webhooks/..."
md_report_verbose = 1
:Example of ``setup.cfg``:
.. code-block:: ini
[tool:pytest]
discord_webhook = https://discordapp.com/api/webhooks/...
md_report_verbose = 1
Dependencies
============================================
- Python 3.6+
- `Python package dependencies (automatically installed) <https://github.com/thombashi/pytest-discord/network/dependencies>`__
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pytest-discord-0.1.0.tar.gz
(13.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pytest-discord-0.1.0.tar.gz.
File metadata
- Download URL: pytest-discord-0.1.0.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f7a1a2841106611ef071122d918f93fbf17504b4af4fc0a5f5cbf80149e2a77
|
|
| MD5 |
5f11598e8ce97cfe82952b7c8da3586e
|
|
| BLAKE2b-256 |
71d07967c85b30c6370d4349d160315da5c3dd21441566f6e0a5b36353421e73
|
File details
Details for the file pytest_discord-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pytest_discord-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a36f9fcde7b677d957b178122e5de661feedead276d2435d1526923ddfa3c652
|
|
| MD5 |
6e999fae616716c3eec139aa40cc445c
|
|
| BLAKE2b-256 |
dff34142bf6da41024622f6a003926b4ef8c36b2c1f491c7c546da0eb70dbcd5
|