77 "encoding/json"
88 "fmt"
99 "io/ioutil"
10+ "log"
1011 "net/http"
1112 "os"
1213
@@ -68,44 +69,6 @@ func main() {
6869func handleEvent (eventType string , bytesIn []byte , config config.Config ) error {
6970
7071 switch eventType {
71- case "release" :
72- req := github.ReleaseEvent {}
73-
74- if err := json .Unmarshal (bytesIn , & req ); err != nil {
75- return fmt .Errorf ("Cannot parse input %s" , err .Error ())
76- }
77-
78- if req .GetAction () == "created" {
79- customer , err := auth .IsCustomer (req .Repo .Owner .GetLogin (), & http.Client {})
80- if err != nil {
81- return fmt .Errorf ("unable to verify customer: %s/%s" , req .Repo .Owner .GetLogin (), req .Repo .GetName ())
82- } else if customer == false {
83- return fmt .Errorf ("no customer found for: %s/%s" , req .Repo .Owner .GetLogin (), req .Repo .GetName ())
84- }
85-
86- var derekConfig * types.DerekRepoConfig
87- if req .Repo .GetPrivate () {
88- derekConfig , err = handler .GetPrivateRepoConfig (req .Repo .Owner .GetLogin (), req .Repo .GetName (), int (req .Installation .GetID ()), config )
89- if err != nil {
90- return fmt .Errorf ("unable to get private repo config: %s" , err )
91- }
92- } else {
93- derekConfig , err = handler .GetRepoConfig (req .Repo .Owner .GetLogin (), req .Repo .GetName ())
94- if err != nil {
95- return fmt .Errorf ("unable to get repo config: %s" , err )
96- }
97- }
98-
99- err = fmt .Errorf (`"release_notes" feature not enabled` )
100- if handler .EnabledFeature (releaseNotes , derekConfig ) {
101-
102- handler := handler .NewReleaseHandler (config , int (req .Installation .GetID ()))
103- err = handler .Handle (req )
104- }
105- return err
106- }
107- break
108-
10972 case "pull_request" :
11073 req := types.PullRequestOuter {}
11174 if err := json .Unmarshal (bytesIn , & req ); err != nil {
@@ -119,12 +82,15 @@ func handleEvent(eventType string, bytesIn []byte, config config.Config) error {
11982 return fmt .Errorf ("No customer found for: %s/%s" , req .Repository .Owner .Login , req .Repository .Name )
12083 }
12184
85+ log .Printf ("Owner: %s, repo: %s, action: %s" , req .Repository .Owner .Login , req .Repository .Name , "pull_request" )
86+
12287 var derekConfig * types.DerekRepoConfig
12388 if req .Repository .Private {
12489 derekConfig , err = handler .GetPrivateRepoConfig (req .Repository .Owner .Login , req .Repository .Name , req .Installation .ID , config )
12590 } else {
12691 derekConfig , err = handler .GetRepoConfig (req .Repository .Owner .Login , req .Repository .Name )
12792 }
93+
12894 if err != nil {
12995 return fmt .Errorf ("Unable to access maintainers file at: %s/%s\n Error: %s" ,
13096 req .Repository .Owner .Login ,
@@ -136,6 +102,8 @@ func handleEvent(eventType string, bytesIn []byte, config config.Config) error {
136102 contributingURL := getContributingURL (derekConfig .ContributingURL , req .Repository .Owner .Login , req .Repository .Name )
137103
138104 if handler .EnabledFeature (dcoCheck , derekConfig ) {
105+ log .Printf ("Owner: %s, repo: %s, action: %s" , req .Repository .Owner .Login , req .Repository .Name , "derek:dco_check" )
106+
139107 handler .HandlePullRequest (req , contributingURL , config )
140108 }
141109
@@ -165,6 +133,8 @@ func handleEvent(eventType string, bytesIn []byte, config config.Config) error {
165133 return fmt .Errorf ("Cannot parse input %s" , err .Error ())
166134 }
167135
136+ log .Printf ("Owner: %s, repo: %s, action: %s" , req .Repository .Owner .Login , req .Repository .Name , "issue_comment" )
137+
168138 customer , err := auth .IsCustomer (req .Repository .Owner .Login , & http.Client {})
169139 if err != nil {
170140 return fmt .Errorf ("Unable to verify customer: %s/%s" , req .Repository .Owner .Login , req .Repository .Name )
@@ -188,10 +158,53 @@ func handleEvent(eventType string, bytesIn []byte, config config.Config) error {
188158
189159 if req .Action != deleted {
190160 if handler .PermittedUserFeature (comments , derekConfig , req .Comment .User .Login ) {
161+ log .Printf ("Owner: %s, repo: %s, action: %s" , req .Repository .Owner .Login , req .Repository .Name , "derek:handle_comment" )
162+
191163 handler .HandleComment (req , config , derekConfig )
192164 }
193165 }
194166 break
167+
168+ case "release" :
169+ req := github.ReleaseEvent {}
170+
171+ if err := json .Unmarshal (bytesIn , & req ); err != nil {
172+ return fmt .Errorf ("Cannot parse input %s" , err .Error ())
173+ }
174+
175+ log .Printf ("Owner: %s, repo: %s, action: %s" , req .Repo .Owner .GetLogin (), req .Repo .GetName (), "release" )
176+
177+ if req .GetAction () == "created" {
178+ customer , err := auth .IsCustomer (req .Repo .Owner .GetLogin (), & http.Client {})
179+ if err != nil {
180+ return fmt .Errorf ("unable to verify customer: %s/%s" , req .Repo .Owner .GetLogin (), req .Repo .GetName ())
181+ } else if customer == false {
182+ return fmt .Errorf ("no customer found for: %s/%s" , req .Repo .Owner .GetLogin (), req .Repo .GetName ())
183+ }
184+
185+ var derekConfig * types.DerekRepoConfig
186+ if req .Repo .GetPrivate () {
187+ derekConfig , err = handler .GetPrivateRepoConfig (req .Repo .Owner .GetLogin (), req .Repo .GetName (), int (req .Installation .GetID ()), config )
188+ if err != nil {
189+ return fmt .Errorf ("unable to get private repo config: %s" , err )
190+ }
191+ } else {
192+ derekConfig , err = handler .GetRepoConfig (req .Repo .Owner .GetLogin (), req .Repo .GetName ())
193+ if err != nil {
194+ return fmt .Errorf ("unable to get repo config: %s" , err )
195+ }
196+ }
197+
198+ err = fmt .Errorf (`"release_notes" feature not enabled` )
199+ if handler .EnabledFeature (releaseNotes , derekConfig ) {
200+ log .Printf ("Owner: %s, repo: %s, action: %s" , req .Repo .Owner .GetLogin (), req .Repo .GetName (), "derek:handle_release" )
201+
202+ handler := handler .NewReleaseHandler (config , int (req .Installation .GetID ()))
203+ err = handler .Handle (req )
204+ }
205+ return err
206+ }
207+ break
195208 default :
196209 return fmt .Errorf ("X_Github_Event want: ['pull_request', 'issue_comment'], got: " + eventType )
197210 }
0 commit comments