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.

Files for ebr-trackerbot, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size ebr_trackerbot-0.1.3.tar.gz (25.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page