handle system events

This commit is contained in:
Martin/Geno 2019-03-09 00:09:45 +01:00
parent a0493bd805
commit e3fc3f9fc7
No known key found for this signature in database
GPG Key ID: 9D7D3C6BFF600C6A
2 changed files with 23 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package gitlab
import (
"encoding/json"
"fmt"
"net/http"
@ -89,6 +90,27 @@ func init() {
err = libHTTP.Read(r, &pl)
msg = pl.String()
case SystemEvents:
var data map[string]interface{}
err = json.NewDecoder(r.Body).Decode(data)
if err != nil {
err = nil
msg = fmt.Sprintf("unable to decode gitlab system event")
} else if event, ok := data["event_name"]; ok {
switch event {
case "push":
var pl PushEventPayload
err = libHTTP.Read(r, &pl)
msg = pl.String()
default:
err = nil
msg = fmt.Sprintf("unknown gitlab system event '%s' received", event)
}
} else {
err = nil
msg = fmt.Sprintf("unable to get event_name of gitlab system event")
}
default:
err = nil
msg = fmt.Sprintf("unknown gitlab event '%s' received", gitLabEvent)

View File

@ -19,6 +19,7 @@ const (
WikiPageEvents Event = "Wiki Page Hook"
PipelineEvents Event = "Pipeline Hook"
BuildEvents Event = "Build Hook"
SystemEvents Event = "System Hook"
)
type customTime struct {