Lolcommits Slack
lolcommits takes a snapshot with your webcam every time you git commit code, and archives a lolcat style image with it. Git blame has never been so much fun!
This plugin automatically posts your lolcommits to one (or more) Slack channels.
The Slack post will contain the git commit message and repo name. The SHA is used as the uploaded file name. Posting will be retried (once) should any error occur.
Requirements
- Ruby >= 2.3
- A webcam
- ImageMagick
- ffmpeg (optional) for animated gif capturing
Installation
Follow the install guide for lolcommits first. Then run the following:
$ gem install lolcommits-slack
Configuration
Next configure and enable with:
$ lolcommits --config -p slack
# set enabled to `true`
# enter your access token and Slack channel ID list (see below)
That's it! Every lolcommit will now be posted to these Slack channels.
To disable simply reconfigure with enabled: false
.
Access Token
This plugin uses Slack legacy tokens for authentication. Create (or grab) them here.
Channel List
You must supply one or more Slack channel IDs. You can use Slack's own API testing tool to list all Slack channels in your account, and grab the IDs from the JSON response presented.
Development
Check out this repo and run bin/setup
, this will install dependencies
and generate docs. Run bundle exec rake
to run all tests and generate
a coverage report.
You can also run bin/console
for an interactive prompt that will allow
you to experiment with the gem code.
Tests
MiniTest is used for testing. Run the test suite with:
$ rake test
Docs
Generate docs for this gem with:
$ rake rdoc
Troubles?
If you think something is broken or missing, please raise a new issue. Take a moment to check it hasn't been raised in the past (and possibly closed).
TODO
- [ ] Use new Oauth / App (instead of legacy tokens)
- [ ] Query for channel list and let user select
Contributing
Bug reports and pull requests are welcome on GitHub.
When submitting pull requests, remember to add tests covering any new behaviour, and ensure all tests are passing on Travis CI. Read the contributing guidelines for more details.
This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct. See here for more details.
License
The gem is available as open source under the terms of LGPL-3.