Giter VIP home page Giter VIP logo

slackerduty's Introduction

PagerDuty → Slack 📟

A Slack App that allows you to manage PagerDuty incidents from Slack!

Honeycomb - Ackd Bugsnag - Resolved

Installation

Running the web server

Assumes you have your database and redis server running.

  • gem install bundler
  • bundle
  • bundle exec rake db:setup
  • gem install foreman
  • foreman start

You can access the sidekiq web panel at /sidekiq.

Usage

See /slackerduty help in Slack!

Contributing

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

slackerduty's People

Contributors

cga1123 avatar dependabot-preview[bot] avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

carwow

slackerduty's Issues

Slack Channels

Currently the only way to set up a channel is by create a 'fake' user and setting the slack_channel as the channel id/string. This works but is a bit hacky.

Would be nice to concretely represent channels as first-class entities with their own options.

Autodelete resolved incidents

Once an incident has been resolved we have no need to keep it in the DB anymore.

Another that would be nice would be to schedule something every n minutes to check that all of the incidents we have as not resolved are still in that state. This can be periodic across all incidents or enqueued for n minutes after we receive an incident, or both 🤷‍♂

PagerDuty Auto Install

Currently, you have to manually set up the PagerDuty Webhooks for every service you want slackerduty to know about, this is pretty laborious and unnecessary.

The PagerDuty API exposes endpoints to manage extensions which is what webhooks come under for them.

Would be cool to have some facility to manage adding/removing slackerduty webhooks via the web UI.

Not sure what the best way to maintain consistency between slackerduty & PagerDuty would be? Maybe ping the extensions endpoint and try to regex match on a slackerduty URL that matchers with the current organisations pager_duty_token?

Bugsnag

We want to:

  • Display a nice description of the issue raised, something like:

☁️ [Quotes Site] Client error: Timeout haendler.carwow.de
🐛 [RestfulResource::HttpClient::Timeout] Timeout: Service not responding
📝 app/controllers/offers_controller.rb:80
🔗 https://app.bugsnag.com/carwow/quotes-site/errors/5aeb4334a76a96001a3fa5f1

  • Add the ability to forward only the bugsnag description to a given channel (or user?)

  • Add the ability to add a note with the forward

Incidents View

Add a incidents view to logged in users on / root page.

Would be nice to have them self update (websockets? polling?)

  • Show Incidents + status #26
  • Show alert/ack/resolve info
  • Allow ack/resolve
  • Allow forward?

PagerDuty actions

The action buttons to Acknowledge, Escalate, Resolve, Unacknowledge an incident need to be implemented.

  • Acknowledge
  • Resolve
  • Unacknowledge (won't do)
  • Escalate (won't do)

Honeycomb

When a incident is raised through honeycomb we want to display that in a nice manner.

Showing the link might be enough as the graph should be previewed by default.

Version 1.0

  • Add ability to acknowledge, escalate, resolve
  • Add ability to add a note to incident
  • Add /slackerduty incidents [ID] command #4
  • Add Honeycomb integration #2
  • Add bugsnag integration #3
  • Add ability to forward to a channel #3
  • Add ability to forward with a optional message #3
  • Docs / How-to install
  • Better errors handling & feedback
  • Get rid of activesupport stuff
  • Subscribe (Web?)
  • Unsubscribe (Web?)
  • Subscriptions (Web?)
  • List Policies (Web?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.