diff --git a/bots-common/request_wiki.go b/bots-common/request_wiki.go new file mode 100644 index 0000000..4be1187 --- /dev/null +++ b/bots-common/request_wiki.go @@ -0,0 +1,10 @@ +package common + +type WikiWebhookEvent struct { + Action string + Page string + Comment string + + Repository Repository + Sender User +} diff --git a/gitea-events-rabbitmq-publisher/main.go b/gitea-events-rabbitmq-publisher/main.go index 8c4d703..39ce588 100644 --- a/gitea-events-rabbitmq-publisher/main.go +++ b/gitea-events-rabbitmq-publisher/main.go @@ -275,8 +275,24 @@ func parseRequestJSON(reqType string, data []byte) (org *common.Organization, ex org = pr.Repository.Owner extraAction = "" + case "wiki": + wiki := common.WikiWebhookEvent{} + if err = json.Unmarshal(data, &wiki); err != nil { + return + } + + switch wiki.Action { + case "created", "edited", "renamed", "deleted": + break + default: + err = fmt.Errorf("Unknown Wiki webhook action type: %s", wiki.Action) + return + } + org = wiki.Repository.Owner + extraAction = wiki.Action + default: - // TODO: package and wiki + // TODO: package webhook err = fmt.Errorf("Unknown webhook request type: %s", reqType) }