Skip to content

lolcommits/lolcommits-slack

Repository files navigation

Lolcommits Slack

Gem Travis Depfu Maintainability Test Coverage

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

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.

Links