Calendar plugin のウェブフック実装

こんにちは!

カレンダープラグインにいくつかのWebhookを実装することにご興味があるか伺いたく存じます。

コミュニティがプラグインの良い追加機能だと感じてくれるのであれば、私が作業を進めることができます…

とはいえ、プラグインにWebhookを実装する方法に関する適切なドキュメントが見つからず、調査に時間を費やす必要があるため、時間がかかります:slight_smile:

「いいね!」 5

何か面白いユースケースはありますか?どのような操作を実装しますか?作成/更新/削除/イベント参加/イベント退出?

はい、現時点ではこれらのイベントを作成したいと考えています。ユースケースは、外部イベント管理プラットフォームをトリガーすることです。
次の質問は、リモートプラットフォームからのフックを受け入れられるようにすることですが、汎用的にできない可能性があるため、別のプラグインを作成するかもしれません(私の最初の推測では)、iCal形式のサポートを実装しない限り(それでも、多くの制限が見られます)。

「いいね!」 1

Webhook拡張機能を持つ公式プラグインを見つけました: GitHub - discourse/discourse-solved: Allow accepted answers on topics.

もし異論がなければ、実装に着手できます :slight_smile:

コードを調べたところ、新しいWebフックを追加するのが、本来あるべきほど簡単ではないことがわかりました。

  • Webフックは、Webフックのグループの一部です(管理用、または名前空間イベント用だと思います)。
  • Solvedプラグインには、solvedグループに2つのWebフックがあります:solved_accepted_solutionsolved_unaccepted_solution

問題が発生しているのは以下の点です:

  • solvedグループは、DiscourseのWebHookEventTypeモデルでハードコーディングされています。
  • 2つのイベントも、DiscourseのWebHookEventTypeモデルでハードコーディングされています。

Discourseのコードに触れることなく、新しいイベントを宣言する方法があるかどうか、そしてどのようにすればできるかを確認します…

「いいね!」 1