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.4.tar.gz (25.3 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: ebr_trackerbot-0.1.4.tar.gz
  • Upload date:
  • Size: 25.3 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.34.0 CPython/3.6.9

File hashes

Hashes for ebr_trackerbot-0.1.4.tar.gz
Algorithm Hash digest
SHA256 d7f01ec14358b9185ba1102acae7fb619025b3979b592426482252b3a10bb2f8
MD5 0f17c755a189b406bcbcc816f3d72264
BLAKE2b-256 7d6aa7589a34c10a02235e7b9b6f8bcd4ae01625287de9bf907229ccaa185c4f

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