为日历插件实现webhook

你好!

我想知道你是否有兴趣为日历插件实现一些 webhook。

如果社区认为这对插件来说是个不错的补充,我可以着手去做……

话虽如此,这需要时间,因为我找不到关于如何在插件中实现 webhook 的合适文档,而且我必须做一些研究 :slight_smile:

5 个赞

您有什么有趣的用例吗?您会实现哪些操作?创建/更新/删除/活动报名/活动取消报名?

是的,这些是我目前想要创建的事件;用例是触发外部事件管理平台。

下一个问题将是能够接受来自远程平台的钩子,但我可能会为此创建一个单独的插件,因为它不能通用(我的初步猜测),除非我们实现对 iCal 格式的支持(但即便如此,我也已经可以看到很多限制)。

1 个赞

我发现了一个带有 webhook 扩展的官方插件:https://github.com/discourse/discourse-solved。

如果没有异议,我就可以开始着手实现了 :slight_smile:

我研究了代码,发现添加新的 webhook 并不像它_应该_那么容易。

  • Webhook 属于一组 webhook(我猜是为了管理员和/或命名空间事件)
  • 对于 Solved 插件,有两个 webhook:solved_accepted_solutionsolved_unaccepted_solution,在 solved 组中

问题出在:

  • solved 组在 Discourse 的 WebHookEventType 模型中是硬编码的
  • 这两个事件也在 Discourse 的 WebHookEventType 模型中是硬编码的

我将看看是否以及如何设法声明新的事件,而不必修改 Discourse 的代码……

1 个赞