Slack::Incoming::Webhooks
A simple wrapper of slack incoming webhooks in Ruby.
Example
require 'slack/incoming/webhooks'
slack = Slack::Incoming::Webhooks.new "WEBHOOK_URL"
slack.post "Hello World"
# => if your webhook is setup, will message "Hello World"
# => to the default channel you set in slackInstallation
Add this line to your application's Gemfile:
gem 'slack-incoming-webhooks'And then execute:
$ bundle
Or install it yourself as:
$ gem install slack-incoming-webhooks
Usage
Setting Defaults
On initialization you can set default payloads by passing an options hash.
Options please refer to incoming-webhooks and chat.postMessage.
.
slack = Slack::Incoming::Webhooks.new "WEBHOOK_URL", channel: '#other-channel',
username: 'monkey-bot'Once a notifier has been initialized, you can update the default channel or username or attachments or etc.
slack.channel = '#other-channel'
slack.username = 'monkey-bot'
slack.attachments = [{ color: '#36a64f', title: 'Slack API Documentation' }]Attachments
It is possible to create more richly-formatted messages using Attachments.
slack-incoming-webhooks supports Attachments.
attachments = {
fallback: "Required plain-text summary of the attachment.",
color: "#36a64f",
pretext: "Optional text that appears above the attachment block",
title: "Slack API Documentation",
title_link: "https://api.slack.com/",
text: "Optional text that appears within the attachment",
image_url: "http://my-website.com/path/to/image.jpg"
}
slack.post "with an attachment", attachments: [attachments]or setting defaults.
slack = Slack::Incoming::Webhooks.new "WEBHOOK_URL", attachments: [attachments]
slack.post "with an attachment"or attachments method.
slack.attachments = [{ color: '#36a64f', title: 'Slack API Documentation' }]Console
run bin/console for an interactive prompt that will allow you to experiment.
$ bin/console
[1] pry(main)> slack = Slack::Incoming::Webhooks.new "WEBHOOK_URL"
=> #<Slack::Incoming::Webhooks:0x007fae6b871e48
[2] pry(main)> slack.post "Hello world!"
=> #<Net::HTTPOK 200 OK readbody=true>Testing
$ rspecDevelopment
After checking out the repo, run bin/setup to install dependencies. Then, 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 to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Contributing
- Fork it ( https://github.com/[my-github-username]/slack-incoming-webhooks/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request