damassi / buggy

A Slackbot that makes it easy to organize bug bashes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

buggy Build Status

A Slackbot that makes it easy to organize bug bashes. This is my Artsy 2018 Hackathon project. It's still a work-in-progress.

Usage

In Artsy's Slack, buggy is already set up. Open a new DM with the bot and type buggy:

buggy
> `buggy start` #channel-name URL # starts a bug bash.
> `buggy end` # ends your bug bash.
> `buggy events` # lists all current bug bashes.
> `buggy leaderboard [ID]` # Prints the leaderboard with that ID (ID is optional if you are in the event or started it).
> `buggy next [fixed, docs, verified, interlinked, none]` # Gets your next bug
> - `fixed`: you fixed the bug.
> - `docs`: you added some docs or resources to help someone else fix it.
> - `verified`: you verified the bug still exists (or was fixed already).
> - `interlinked`: you added a link to a related Sentry, GitHub, or Jira entity.
> - `none`: you didn't do anything and just want a different bug.
> `buggy join [ID]` # joins a bug bash with that ID (ID is optional unless there are multiple concurrent bashes).
> `buggy points` # Gets your number of points
> `buggy leave` # leaves your current bug bash.

When starting an even, you need to give it two things: a Slack channel to make announcements in, and a source of bugs to fix. Either Jira or GitHub works. There are some limitations, check out the open issues if you run into trouble, or DM Ash.

Contributing

Do the clone and bundle install, then make sure the follow env vars are set:

export SLACK_API_TOKEN='Token you got from the Engineering 1Password'
export GITHUB_ACCESS_TOKEN='GitHub personal access token with repo scope'
export DATABASE_URL='my something like postgres://localhost/buggy'
export JIRA_EMAIL='Email in 1Password'
export JIRA_TOKEN='Token in 1Password' # See docs for token creation: https://confluence.atlassian.com/cloud/api-tokens-938839638.html

Then run the server with bundle exec puma. It'll run a Sinatra server, but that's only to play nicely with Heroku. In reality, a thread has been spawned to connect to your Slack instance.

Resources

Here are some things that've helped me:

About

A Slackbot that makes it easy to organize bug bashes

License:MIT License


Languages

Language:Ruby 100.0%