diff --git a/plugins/inputs/webhooks/github/github_webhooks.go b/plugins/inputs/webhooks/github/github_webhooks.go index 139c76971..a31c6fdf2 100644 --- a/plugins/inputs/webhooks/github/github_webhooks.go +++ b/plugins/inputs/webhooks/github/github_webhooks.go @@ -34,9 +34,10 @@ func (gh *GithubWebhook) eventHandler(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusBadRequest) return } - - p := e.NewMetric() - gh.acc.AddFields("github_webhooks", p.Fields(), p.Tags(), p.Time()) + if e != nil { + p := e.NewMetric() + gh.acc.AddFields("github_webhooks", p.Fields(), p.Tags(), p.Time()) + } w.WriteHeader(http.StatusOK) } @@ -84,6 +85,8 @@ func NewEvent(data []byte, name string) (Event, error) { return generateEvent(data, &MembershipEvent{}) case "page_build": return generateEvent(data, &PageBuildEvent{}) + case "ping": + return nil, nil case "public": return generateEvent(data, &PublicEvent{}) case "pull_request": diff --git a/plugins/inputs/webhooks/github/github_webhooks_test.go b/plugins/inputs/webhooks/github/github_webhooks_test.go index 7bee5372d..0ec991726 100644 --- a/plugins/inputs/webhooks/github/github_webhooks_test.go +++ b/plugins/inputs/webhooks/github/github_webhooks_test.go @@ -25,6 +25,10 @@ func TestCommitCommentEvent(t *testing.T) { GithubWebhookRequest("commit_comment", CommitCommentEventJSON(), t) } +func TestPingEvent(t *testing.T) { + GithubWebhookRequest("ping", "", t) +} + func TestDeleteEvent(t *testing.T) { GithubWebhookRequest("delete", DeleteEventJSON(), t) }