Method: LogStash::Outputs::Stride#post_message

Defined in:
lib/logstash/outputs/stride.rb

#post_message(access_token, cloud_id, conversation_id, host, type, message) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/logstash/outputs/stride.rb', line 37

def post_message(access_token,cloud_id,conversation_id,host,type,message)
  message = %Q|#{type} : #{message}| if type
  message = %Q|#{host} : #{message}| if host
  puts "Type : #{type}, Host : #{host}"
  uri = URI.parse("https://api.atlassian.com/site/#{cloud_id}/conversation/#{conversation_id}/message")
  request = Net::HTTP::Post.new(uri)
  request.content_type = "application/json"
  request["Authorization"] = "Bearer #{access_token}"
  request.body = '{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"'+message+'"}]}]}'

  req_options = {
    use_ssl: uri.scheme == "https",
  }

  response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
    http.request(request)
  end

end