Email notifications for Sloth CI apps
Project description
Send email notifications when builds complete or fail.
Executing actions of an app is called *build*. A build is considered *completed* if all its actions were completed. If some actions were completed and some failed, it's a *partially completed*; if all actions fail, the build *failed*.
This extension sends you emails via SMTP when your builds complete (fully or partially) or fail; just pick the desired notification level, list the recepient emails, and enter your SMTP credentials. Optionally, you can set the subject for each notifcation level.
.. warning::
This extension uses `SMTPHandler <https://docs.python.org/3/library/logging.handlers.html#smtphandler>`__ from logging.handlers. SMTPHandler doesn't work with GMail because it creates an smtplib.SMTP object to connect to the host, whereas GMail requires smtplib.SMTP_SSL.
Outlook.com works fine.
Installation
------------
.. code-block:: bash
$ pip install sloth-ci.ext.build_email_notifications
Usage
-----
.. code-block:: yaml
:caption: build_email_notifications.yml
extensions:
notifications:
# Use the module sloth_ci.ext.build_email_notifications.
module: build_email_notifications
# Emails to send the notifications to.
emails:
- foo@bar.com
- admin@example.com
# Log level (number or valid Python logging level name).
# ERROR includes only build fails, WARNING adds partial completions,
# INFO adds completion, and DEBUG adds trigger notifications.
# Default is WARNING.
level: INFO
# The "from" address in the emails. Default is "build@sloth.ci."
from: notify@example.com
# The email subject on build trigger. You can use the {listen_point} placeholder.
# Default is "{listen_point}: Build Triggered."
subject_triggered: 'Triggered build on {listen_point}!'
# The email subject on build completion.You can use the {listen_point} placeholder.
# Default is "{listen_point}: Build Completed."
subject_completed: 'Hooray! {listen_point} works!'
# The email subject on build partial completion. You can use the {listen_point} placeholder.
# Default is "{listen_point}: Build Partially Completed."
subject_partially_completed: 'Better than nothing on {listen_point}'
# The email subject on build fail. You can use the {listen_point} placeholder.
# Default is "{listen_point}: Build Failed."
subject_failed: 'Fail on {listen_point}'
# SMTP settings.
# SMTP mail host and (if not default) port.
# Mandatory parameter.
mailhost: 'smtp-mail.outlook.com:25'
# SMTP login.
login: foo@bar.baz
# SMTP password.
password: bar
# If the SMTP server requires TLS, set this to true. Default is false.
# If necessary, you can provide a keyfile name or a keyfile and a certificate file names.
# This param is used only if the login and password params are supplied.
secure: true
# secure:
# - keyfile
# - cerfile
Executing actions of an app is called *build*. A build is considered *completed* if all its actions were completed. If some actions were completed and some failed, it's a *partially completed*; if all actions fail, the build *failed*.
This extension sends you emails via SMTP when your builds complete (fully or partially) or fail; just pick the desired notification level, list the recepient emails, and enter your SMTP credentials. Optionally, you can set the subject for each notifcation level.
.. warning::
This extension uses `SMTPHandler <https://docs.python.org/3/library/logging.handlers.html#smtphandler>`__ from logging.handlers. SMTPHandler doesn't work with GMail because it creates an smtplib.SMTP object to connect to the host, whereas GMail requires smtplib.SMTP_SSL.
Outlook.com works fine.
Installation
------------
.. code-block:: bash
$ pip install sloth-ci.ext.build_email_notifications
Usage
-----
.. code-block:: yaml
:caption: build_email_notifications.yml
extensions:
notifications:
# Use the module sloth_ci.ext.build_email_notifications.
module: build_email_notifications
# Emails to send the notifications to.
emails:
- foo@bar.com
- admin@example.com
# Log level (number or valid Python logging level name).
# ERROR includes only build fails, WARNING adds partial completions,
# INFO adds completion, and DEBUG adds trigger notifications.
# Default is WARNING.
level: INFO
# The "from" address in the emails. Default is "build@sloth.ci."
from: notify@example.com
# The email subject on build trigger. You can use the {listen_point} placeholder.
# Default is "{listen_point}: Build Triggered."
subject_triggered: 'Triggered build on {listen_point}!'
# The email subject on build completion.You can use the {listen_point} placeholder.
# Default is "{listen_point}: Build Completed."
subject_completed: 'Hooray! {listen_point} works!'
# The email subject on build partial completion. You can use the {listen_point} placeholder.
# Default is "{listen_point}: Build Partially Completed."
subject_partially_completed: 'Better than nothing on {listen_point}'
# The email subject on build fail. You can use the {listen_point} placeholder.
# Default is "{listen_point}: Build Failed."
subject_failed: 'Fail on {listen_point}'
# SMTP settings.
# SMTP mail host and (if not default) port.
# Mandatory parameter.
mailhost: 'smtp-mail.outlook.com:25'
# SMTP login.
login: foo@bar.baz
# SMTP password.
password: bar
# If the SMTP server requires TLS, set this to true. Default is false.
# If necessary, you can provide a keyfile name or a keyfile and a certificate file names.
# This param is used only if the login and password params are supplied.
secure: true
# secure:
# - keyfile
# - cerfile
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
Built Distributions
File details
Details for the file sloth-ci.ext.build_email_notifications-1.0.8.zip
.
File metadata
- Download URL: sloth-ci.ext.build_email_notifications-1.0.8.zip
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
53228e821e7a853a0b09213be537271c804c34926d18b3c211466f3ae27271d0
|
|
MD5 |
08669dd2639a488f0f7110182f5a0c7d
|
|
BLAKE2b-256 |
3bb14e1402fd8b12ec415e6e0434bb4796a3de6055f554cc2f2e2a8515b42894
|
File details
Details for the file sloth_ci.ext.build_email_notifications-1.0.8-py3-none-any.whl
.
File metadata
- Download URL: sloth_ci.ext.build_email_notifications-1.0.8-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
4aa45bb58d07ff635c33e66e4baca64dadba4c09794f3cde0799257cbcf686c5
|
|
MD5 |
5d1aacd76a194a26a55322d7cac4c5fc
|
|
BLAKE2b-256 |
8ab826b8ff42743746f03f23fbe14d27d08c15b468b01c476764f05d430525a7
|
File details
Details for the file sloth-ci.ext.build_email_notifications-1.0.8.win-amd64.exe
.
File metadata
- Download URL: sloth-ci.ext.build_email_notifications-1.0.8.win-amd64.exe
- Upload date:
- Size: 145.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
6c89bb55a3a7c8d94afb4ae01deecf9ba6fa1de79c51c96e89495721687c4165
|
|
MD5 |
d67a438afb4b05d7e89b48348e7d464b
|
|
BLAKE2b-256 |
7811b5a304d1d98c87efd858c1c339b5743725ef878589714f74edf4faf97c00
|