Webhookを利用すると、コミュニティでイベントが発生したときに、指定したURLでイベントを受け取って処理を行うことができます。Webhookを設定するには、各コミュニティの設定画面からサービス連携のページを開いて作成してください。

リクエスト形式

イベントが発生すると、WikiHubは指定したURLに対してPOSTリクエストを送信します。POSTリクエストには、JSON形式でエンコードされたリクエストボディが含まれます。リクエストボディの内容はイベントの内容によって変化します。

typeプロパティ

全てのリクエストボディはJSONのObject形式で表現され、必ずtypeプロパティを含みます。typeプロパティはイベントの種類を一意に表す文字列です。typeプロパティには、本ドキュメント執筆現在、以下のような種類が存在します。

  • "article_created"
  • "article_deleted"
  • "article_updated"
  • "issue_comment_created"
  • "issue_created"
  • "page_created"
  • "page_deleted"
  • "page_updated"

リクエスト例

POST /example HTTP/1.1

Host: localhost:3000
Content-Type: application/json
Content-Length: 647

{
  "article": {
    "body": "...",
    "community": {
      "created_at": "2016-02-20T07:12:59+09:00",
      "domain_name": "help",
      "id": 4,
      "name": "WikiHub Help",
      "updated_at": "2016-04-30T19:44:40+09:00"
    },
    "created_at": "2016-05-02T13:18:20+09:00",
    "id": 194,
    "rendered_body": "...",
    "title": "Wikiのサイドバーの内容を固定できるようになりました",
    "updated_at": "2016-05-02T13:20:01+09:00",
    "user": {
      "created_at": "2016-02-18T14:48:16+09:00",
      "id": 1,
      "image_url": "https://secure.gravatar.com/avatar/089127ffb92a19d3d37815673cca06dc",
      "name": "r7kamura"
    }
  },
  "type": "article_created"
}

article_created

記事が作成されたときに発生するイベントです。
articleプロパティが含まれます。

article_deleted

記事が削除されたときに発生するイベントです。
articleプロパティが含まれます。

article_updated

記事が更新されたときに発生するイベントです。
articleプロパティが含まれます。

issue_comment_created

議論にコメントが作成されたときに発生するイベントです。
issue_commentプロパティが含まれます。

issue_created

議論が作成されたときに発生するイベントです。
issueプロパティが含まれます。

page_created

ページが作成されたときに発生するイベントです。
pageプロパティが含まれます。

page_deleted

ページが削除されたときに発生するイベントです。
pageプロパティが含まれます。

page_updated

ページが更新されたときに発生するイベントです。
pageプロパティが含まれます。