特定のURLをSlackのWebhookとします。
def post_man url = 'https://hooks.slack.com/services/xxxxxx/yyyyy/zzzzz' content = { text: 'This post is from Ruby on Rails', icon_emoji: ':ghost:' } uri = URI.parse(WEBHOOK_URL) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE http.start do request = Net::HTTP::Post.new(uri.path) request.set_form_data(payload: content.to_json) http.request(request) end end
参考記事
便利Gemを発見
なんとかPOSTできましたが、そんなときに gem 'rest-client' という便利Gemの存在を知りました。
こやつのお蔭で冗長だった、記述がここまで簡潔に!!
def post_man url = 'https://hooks.slack.com/services/xxxxxx/yyyyy/zzzzz' body = params.to_json content_type = :json RestClient.post(url, body, content_type: content_type) end