Webhook is merged to master. See Setting up webhooks for instructions.
Webhooks is my GSoC projects which ends in Aug 23. It’s fully operating but I would keep improving it on more event types as well as payload improvement. I would like to hear comments about how you like to use it. The question like I need X in the payload and I need more information in the payload is generally welcomed.
This topic works as a progress report and feedback topic. Please leave your comments and questions.
Code
Code is merged to the core.
Demo bot: GitHub - fantasticfears/discourse-webhook-github-issue
Highlights
If you are looking for instruction for webhooks, take a look at this #howto.
Event type and event name
For example, post_created
and post_destroyed
are two events for plugin authors. Webhooks also take advantage of that. Once such event happens internally, a webhook may be also triggered. Let’s assume a webhook enables post event.
So, post_created
or post_destroyed
happend. The webhook triggered. X-Discourse-Event-Type: post
with post json is sent to you.
Do you need event name in the webhook? And how does that helps your application?
- Yes
- No
0 voters
X-Discourse-Event
shows the exact internal event now.
Event payload serialization
For example, the payload of post event is the exact same as Ember application gets. But the operator is our system user so that can_edit?
is also sent to you which I believe there aren’t anything useful to your application.
Do you want me to omit those fields? Or what else information do you need?
- Yes
- No
0 voters
Webhook event list
In our event delivery list, new event is not updated unless you refresh the page. And recent status is updated in the webhook list. Do you think it’s necessary to notice those changes in real time? How does that helps?
- Yes
- No
0 voters
A blue notice shows the incoming event if available.