diff --git a/plugins/inputs/webhooks/github/github_webhooks.go b/plugins/inputs/webhooks/github/github_webhooks.go index 139c7697104de27a2a44c45d4a0075d08492ddd7..a31c6fdf2280c9ac33dd90776572c561d3991167 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 7bee5372d1f283c0b2047d7bfc9b5c01f780ebd1..0ec9917264374689ca588bdf375924ecf3eecf8b 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) }