// MungePullRequest is the workhorse the will actually make updates to the PR func (OkToTestMunger) MungePullRequest(config *github_util.Config, pr *github.PullRequest, issue *github.Issue, commits []github.RepositoryCommit, events []github.IssueEvent) { if !github_util.HasLabel(issue.Labels, "lgtm") { return } status, err := config.GetStatus(pr, []string{"Jenkins GCE e2e"}) if err != nil { glog.Errorf("unexpected error getting status: %v", err) return } if status == "incomplete" { glog.V(2).Infof("status is incomplete, adding ok to test") msg := `@k8s-bot ok to test pr builder appears to be missing, activating due to 'lgtm' label.` config.WriteComment(*pr.Number, msg) } }
// MungePullRequest is the workhorse the will actually make updates to the PR func (PingCIMunger) MungePullRequest(config *github_util.Config, pr *github.PullRequest, issue *github.Issue, commits []github.RepositoryCommit, events []github.IssueEvent) { if !github_util.HasLabel(issue.Labels, "lgtm") { return } if mergeable, err := config.IsPRMergeable(pr); err != nil { glog.V(2).Infof("Skipping %d - problem determining mergeability", *pr.Number) } else if !mergeable { glog.V(2).Infof("Skipping %d - not mergeable", *pr.Number) } status, err := config.GetStatus(pr, []string{"Shippable", "continuous-integration/travis-ci/pr"}) if err != nil { glog.Errorf("unexpected error getting status: %v", err) return } if status == "incomplete" { glog.V(2).Infof("status is incomplete, closing and re-opening") msg := "Continuous integration appears to have missed, closing and re-opening to trigger it" config.WriteComment(*pr.Number, msg) config.ClosePR(pr) time.Sleep(5 * time.Second) config.OpenPR(pr, 10) } }