I'm using node.js to post incidents to our statuspage.io and getting a 400 error. Based on the API docs, which show Curl examples, I'm formatting the post data as:
var postData = querystring.stringify({
'incident[name]': "Network routing issue",
'incident[status]': "identified",
'incident[body]': "body text...",
'incident[component_ids][]': "bk60bdqdqv7g",
'incident[components][bk60bdqdqv7g]': "degraded_performance"
});
The raw postData result string looks like:
postData="incident%5Bname%5D=Network%20routing%20issue&incident%5Bstatus%5D=identified&incident%5Bbody%5D=This%20is%20a%20test%20message%20body.%20%20Had%20this%20been%20a%20real%20incident%2C%20this%20would%20have%20hopefully%20contained%20some%20useful%20information.&incident%5Bcomponent_ids%5D%5B%5D=bk60bdqdqv7g&incident%5Bcomponents%5D%5Bbk60bdqdqv7g%5D=degraded_performance"
I'm sure that I'm not correctly translating the Curl example to javascript object.
Any pointers, examples, advice would be greatly appreciated.
I've resolved this issue -- I was not sending the correct Content-Type and Content-Length headers. With Content-Type set to "application/x-www-form-urlencoded" and Content-Length set to the post data length, I got back the expected 201 (success) status.
After a bit more reading, I've corrected one issue (the component_ids parameter), but still getting the 400 error.
The post data object is:
{
"incident[name]": "Network routing issue",
"incident[status]": "identified",
"incident[body]": "This is a test message body. Had this been a real incident, this would have hopefully contained some useful information.",
"incident[component_ids]": [ "bk60bdqdqv7g" ]
}
The post data string is:
incident%5Bname%5D=Network%20routing%20issue&incident%5Bstatus%5D=identified&incident%5Bbody%5D=This%20is%20a%20test%20message%20body.%20%20Had%20this%20been%20a%20real%20incident%2C%20this%20would%20have%20hopefully%20contained%20some%20useful%20information.&incident%5Bcomponent_ids%5D=bk60bdqdqv7g
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.