Slackit

Slackit is a very simply Ruby Gem for posting to a slack incoming webhook.

Build Status Release Latest Release
Github commits (since latest release) Last Commit
Software License Open an Issue Open an Issue AntiPhoton Limited


Slackit

Slackit is a very simply Ruby Gem for posting to a slack incoming webhook. It is now possible to send attachments and blocks however slackit doesn't take responsibility for creating those only for sending them. For more information on how to use those please refer to the Slack API documentation. * [Attachments](https://api.slack.com/reference/messaging/attachments) * [Blocks](https://api.slack.com/block-kit/building) ## Installation Add this line to your application's Gemfile: ```ruby gem 'slackit' ``` And then execute: $ bundle Or install it yourself as: $ gem install slackit ## Usage ```ruby require "slackit" ``` ### Initialize client #### Initialize with minimal options ```ruby client = Slackit.new(webhook_url: "slack webhook url") ``` #### Initialize with all options ```ruby client = SlackNotify::Client.new( webhook_url: "slack webhook url", channel: "#development", username: "mybot", icon_emoji: ":shipit:", ) ``` #### Initialize via shorthand method ```Ruby client = Slackit.new(options) ``` ### Sending Messages #### Simple messages ```Ruby client.send_message("This is a test message") ``` #### Attachments ```Ruby client.send_attachment(attachment_json) ``` > NOTE: We will test to make sure the json is valid and catch errors thrown by the API for invalid formatting, missing values etc. General error from the api is `missing_text_or_fallback_or_attachments` #### Blocks ```Ruby client.send_block(block_json) ``` > NOTE: We will test to make sure the json is valid and catch errors thrown by the API for invalid formatting, missing values etc. General error from the api is `invalid_blocks_format` ### Command Line Usage ``` Usage: slackit -h, --help Display this screen -c, --channel string The channel to send the message to -i, --icon-emoji string The emoji to use for the channel icon [default: :wolf:] -m, --message string The message to send -w, --webhook-url string The slack incoming webhook url to use -u, --username string The username to send as [default: slackit] Message type options: -a, --attachment Treat the message as an attachment -b, --block Treat the message as a block ``` ### Pipe message Alternatively to using the `-m` parameter, you can pipe your message instead: $ echo 'Hello world!' | slackit -w ... ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). ## Testing For local testing make sure that you run `bundle exec rspec spec` and then `rake install` to install the gem locally. ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/AntiPhotonltd/slackit. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. ## License The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT). ## Code of Conduct Everyone interacting in the Slackit project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/AntiPhotonltd/slackit/blob/master/CODE_OF_CONDUCT.md).