Skip to content

TylerConlee/slab

Repository files navigation

slab - Zendesk SLA Bot for Slack

CircleCI GoDoc

This bot is a Go app that monitors a Zendesk instance and reports upcoming SLA breaches to a given Slack channel.

Slab in action

Installation

Before deployment, a Slack app has to be created in your Slack team. An app can be created through Slack's web UI. The Slab application requires several configuration options set in the Slack interface. Interactive Components must be enabled, with a SSL-enabled link to a server that Slab will run on, ending in /slack.

interactive-components

A Bot User is also required with the username slab:

bot-user

Finally, the OAuth Tokens & Redirect URLs page will provide the Bot User OAuth token, which is used in your configuration .toml. To run SLAB on your server, create a configuration .toml file based off of the configuration options. The .toml file path is then passed as an argument when starting SLAB:

./slab config.toml

Development setup

Glide must be installed to compile Slab. Clone the repo and run glide install to ensure any and all dependencies are local.

glide install

Feature ideas

  • PagerDuty integration
  • Email integration
  • New Relic / DataDog integrations?
  • Advanced filtering - custom field support, user/org support, etc.

Meta

Tyler Conlee – @TylerConleetyler@circleci.com

Distributed under the GPU license. See LICENSE for more information.

https://github.com/tylerconlee/

Contributing

  1. Fork it (https://github.com/tylerconlee/slab/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request