Need to submit an HTTP POST request of a json string. Have all of the RESTful parts working, and verified correctly. This works if I hard code the elements inside the array. I am wanting to loop through one of the arrays in the JSON string, the "Attachments Array".
The loop would look something like:
@days = Daily.all
@days[0..11] do |dailys|
#loop that builds json to post
end
#RESTful HTTP POST request
The only problem is, I don't know how to implement a loop inside of a JSON string for only one array.
My code so far for testing out the HTTP POST
#!/usr/bin/ruby
require 'net/http'
require 'uri'
require 'json'
require 'jbuilder'
uri = URI.parse("<POST URL>")
header = {'Content-Type' => 'text/json'}
payload = {
channel: "<channel>",
username: "<username>",
# Wish to loop through the "Attachments" Array
attachments: [
{
param: "Text",
text: "Text",
pretext: "Optional Text",
color: 'good',
fields: [
{
Title: "Title field",
value: "First Value",
short: false
},
{
title: "Field Title",
value: "Field Value",
short: true
},
{
title: "Second Field Title",
value: "Second Field Value",
short: true
}
]
}
]
}
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
req = Net::HTTP::Post.new(uri.request_uri, header)
req.body = payload.to_json
resp = http.request(req)
puts resp