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
Close
Hashes for sloth-ci.ext.build_email_notifications-1.0.8.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53228e821e7a853a0b09213be537271c804c34926d18b3c211466f3ae27271d0 |
|
MD5 | 08669dd2639a488f0f7110182f5a0c7d |
|
BLAKE2b-256 | 3bb14e1402fd8b12ec415e6e0434bb4796a3de6055f554cc2f2e2a8515b42894 |
Close
Hashes for sloth_ci.ext.build_email_notifications-1.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4aa45bb58d07ff635c33e66e4baca64dadba4c09794f3cde0799257cbcf686c5 |
|
MD5 | 5d1aacd76a194a26a55322d7cac4c5fc |
|
BLAKE2b-256 | 8ab826b8ff42743746f03f23fbe14d27d08c15b468b01c476764f05d430525a7 |
Close
Hashes for sloth-ci.ext.build_email_notifications-1.0.8.win-amd64.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c89bb55a3a7c8d94afb4ae01deecf9ba6fa1de79c51c96e89495721687c4165 |
|
MD5 | d67a438afb4b05d7e89b48348e7d464b |
|
BLAKE2b-256 | 7811b5a304d1d98c87efd858c1c339b5743725ef878589714f74edf4faf97c00 |