diff --git a/runner/pool/organization.go b/runner/pool/organization.go index 9acc6e8b..db2e2938 100644 --- a/runner/pool/organization.go +++ b/runner/pool/organization.go @@ -17,6 +17,7 @@ package pool import ( "context" "fmt" + "log" "net/http" "strings" "sync" @@ -280,6 +281,10 @@ func (r *organization) InstallHook(ctx context.Context, req *github.Hook) (param return params.HookInfo{}, errors.Wrap(err, "creating organization hook") } + if _, err := r.ghcli.PingOrgHook(ctx, r.cfg.Name, hook.GetID()); err != nil { + log.Printf("failed to ping hook %d: %v", *hook.ID, err) + } + return hookToParamsHookInfo(hook), nil } diff --git a/runner/pool/repository.go b/runner/pool/repository.go index 846fbe3b..4fb976d1 100644 --- a/runner/pool/repository.go +++ b/runner/pool/repository.go @@ -17,6 +17,7 @@ package pool import ( "context" "fmt" + "log" "net/http" "strings" "sync" @@ -281,6 +282,10 @@ func (r *repository) InstallHook(ctx context.Context, req *github.Hook) (params. return params.HookInfo{}, errors.Wrap(err, "creating repository hook") } + if _, err := r.ghcli.PingRepoHook(ctx, r.cfg.Owner, r.cfg.Name, hook.GetID()); err != nil { + log.Printf("failed to ping hook %d: %v", hook.GetID(), err) + } + return hookToParamsHookInfo(hook), nil } @@ -292,7 +297,7 @@ func (r *repository) UninstallHook(ctx context.Context, url string) error { for _, hook := range allHooks { if hook.Config["url"] == url { - _, err = r.ghcli.DeleteRepoHook(ctx, r.cfg.Owner, r.cfg.Name, *hook.ID) + _, err = r.ghcli.DeleteRepoHook(ctx, r.cfg.Owner, r.cfg.Name, hook.GetID()) if err != nil { return errors.Wrap(err, "deleting hook") }