Closed maartenberg closed 5 years ago
Thanks for the report @maartenberg The plugin is running on https://community.mattermost.com without any issues, we are using github, gitlab, circleci, travis, zoom and others statuspages notification configuration without any issues.
notice in your side you did not set the service name in the webhook url might be this issue:
https://SITEURL/plugins/statuspage/webhook?service=SERVICENAME&token=TOKEN
where SERVICENAME is the service you are subscribing, like github and the TOKEN is the token you generated in the settings page for the plugin.
One question what is this payload that you posted? this is not the statuspage payload. statuspage payload is something like:
{
"meta":{
"unsubscribe":"http://statustest.flyingkleinbrothers.com:5000/?unsubscribe=j0vqr9kl3513",
"documentation":"http://doers.statuspage.io/customer-notifications/webhooks/"
},
"page":{
"id": "j2mfxwj97wnj",
"status_indicator": "major",
"status_description": "Partial System Outage"
},
"component_update":{
"created_at":"2013-05-29T21:32:28Z",
"new_status":"operational",
"old_status":"major_outage",
"id":"k7730b5v92bv",
"component_id":"rb5wq1dczvbm"
},
"component":{
"created_at":"2013-05-29T21:32:28Z",
"id":"rb5wq1dczvbm",
"name":"Some Component",
"status":"operational"
}
}
https://help.statuspage.io/knowledge_base/topics/webhook-notifications
Hi @cpanato,
I now realise that I misunderstood the plugin's purpose. I used the plugin's webhook as the target for the Slack integration, where we should have subscribed it to an actual webhook as a subscriber. I've tested it with the correct setup and everything works as expected.
We've enabled this plugin on a server running Mattermost Team edition v5.10, and notifications aren't posted to the channel we picked, possibly because Statuspage changed the format of their webhooks.
The webhook's payload is sent in a POST request with
Content-type: application/x-www-form-urlencoded
, which doesn't seem to be handled properly by the plugin. The request body seems to be interpreted as JSON directly, while the body first needs to be decoded.Debug logs:
Received request body (intercepted using https://webhook.site):
Decoded payload: