Skip to main content

EBR Tracker Slack Bot

Project description

ebr-trackerbot

Build Status

PyPI - Version PyPI - License PyPI - Python Versions PyPI - Format PyPI - Status

Features

  • show number of test failures over a given period
  • track a test for failures for a given period
  • list active tracking requests
  • Respond to private messages
  • Respond to @mention once integrated in a channel
  • Store tracking information in ODBC

Installation

Install with pip install ebr-trackerbot.

To install with support for ODBC databases (other than SQLite), use pip install ebr-trackerbot['db_support']. This will compile against the odbc library, so that must also be installed including the development package if you intend to use ODBC. On Ubuntu this can be done with sudo apt-get install unixodbc-dev.

Configuration

Configure the vault authentication and vault credentials as described here: https://github.com/tomtom-international/vault-anyconfig#files-and-formatting Provide an empty file for both if you will not be using Vault.

Provide the following required configuration via a YAML file:

ebr-trackerbot:
    slack_token: slack API token (a secret value, should be stored in Vault)
    apiurl: url to ebr board api endpoint

Optional settings (also to be included in the ebr-trackerbot section):

  • init_channel: a message will be posted in this channel at startup, must be set to an existing channel. Default is #test-slackbot.
  • storage_backend: backend storage medium (memory or sqlite). Default is memory.
  • sqlite_filename: sqlite filename path. Default is data.db
  • slack_message_template: custom slack message when test failed. Can contain these placeholders: {{test}} - test name, {{count}} - number of failures, {{period}} - time period. Default is an empty string.
  • check_tests_delay: frequency in which to check for test failures, specified in seconds. Default is 8600 seconds (one day).
  • log_level: sets the logging level. See https://docs.python.org/3/library/logging.html#logging-levels for the level options. Default is ERROR.

Note any entry can be stored in Hashicorp Vault using vault-anyconfig. See https://github.com/tomtom-international/vault-anyconfig#main-configuration-file for details.

Run with Docker:

By default, the Docker image assumes a combine vault configuration and credentials file named vault.yaml. If you are not using Vault, this can be an empty file, otherwise see the configuration section above.

docker run -e BR_URL=<br board url> -v ${pwd}/config.yaml:/etc/ebr-trackerbot/config.yaml -v ${pwd}/vault.yaml:/etc/ebr-trackerbot/vault.yaml tomtom-docker-registry.bintray.io/python/ebr_trackerbot python ebr-trackerbot

Requirements

Credits

This package was created with Cookiecutter and the tomtom-international/cookiecutter-python project template.

Changelog

0.0.1-dev (2019-07-19)

  • First release on PyPI.

0.1.0 (2019-08-13)

  • Adds ODBC database support

0.1.1 (2019-08-13)

  • Fixes bug due to callback invocation on slack listener
  • Cleans up project documentation

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

ebr_trackerbot-0.1.2.tar.gz (25.2 kB view details)

Uploaded Source

File details

Details for the file ebr_trackerbot-0.1.2.tar.gz.

File metadata

  • Download URL: ebr_trackerbot-0.1.2.tar.gz
  • Upload date:
  • Size: 25.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.6.9

File hashes

Hashes for ebr_trackerbot-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5c2d04e78689ebb2172cb4edde14be89d2ed291005537cb10ef4be624929ddad
MD5 8432e48cd20cfe1e5de94f6c62a896d3
BLAKE2b-256 7ca09a289d03832ae11d3e861c9a5b925947b3eb2a088ea79414d909ee28a1e9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page