本文整理匯總了Golang中k8s/io/contrib/mungegithub/config.MungeConfig.WriteComment方法的典型用法代碼示例。如果您正苦於以下問題:Golang MungeConfig.WriteComment方法的具體用法?Golang MungeConfig.WriteComment怎麽用?Golang MungeConfig.WriteComment使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類k8s/io/contrib/mungegithub/config.MungeConfig
的用法示例。
在下文中一共展示了MungeConfig.WriteComment方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: MungePullRequest
// MungePullRequest is the workhorse the will actually make updates to the PR
func (s *SizeMunger) MungePullRequest(config *config.MungeConfig, pr *github.PullRequest, issue *github.Issue, commits []github.RepositoryCommit, events []github.IssueEvent) {
s.getGeneratedFiles(config)
genFiles := *s.genFiles
genPrefixes := *s.genPrefixes
if pr.Additions == nil {
glog.Warningf("PR %d has nil Additions", *pr.Number)
return
}
adds := *pr.Additions
if pr.Deletions == nil {
glog.Warningf("PR %d has nil Deletions", *pr.Number)
return
}
dels := *pr.Deletions
for _, c := range commits {
for _, f := range c.Files {
for _, p := range genPrefixes {
if strings.HasPrefix(*f.Filename, p) {
adds = adds - *f.Additions
dels = dels - *f.Deletions
continue
}
}
if genFiles.Has(*f.Filename) {
adds = adds - *f.Additions
dels = dels - *f.Deletions
continue
}
}
}
newSize := calculateSize(adds, dels)
newLabel := labelSizePrefix + newSize
existing := github_util.GetLabelsWithPrefix(issue.Labels, labelSizePrefix)
needsUpdate := true
for _, l := range existing {
if l == newLabel {
needsUpdate = false
continue
}
config.RemoveLabel(*pr.Number, l)
}
if needsUpdate {
config.AddLabels(*pr.Number, []string{newLabel})
body := fmt.Sprintf("Labelling this PR as %s", newLabel)
config.WriteComment(*pr.Number, body)
}
}
示例2: MungePullRequest
func (OkToTestMunger) MungePullRequest(config *config.MungeConfig, 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.Number, []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)
}
}
示例3: MungePullRequest
// MungePullRequest is the workhorse the will actually make updates to the PR
func (LGTMAfterCommitMunger) MungePullRequest(config *config.MungeConfig, pr *github.PullRequest, issue *github.Issue, commits []github.RepositoryCommit, events []github.IssueEvent) {
lastModified := lastModifiedTime(commits)
lgtmTime := lgtmTime(events)
if lastModified == nil || lgtmTime == nil {
return
}
if !github_util.HasLabel(issue.Labels, "lgtm") {
return
}
if lastModified.After(*lgtmTime) {
lgtmRemovedBody := "PR changed after LGTM, removing LGTM."
if err := config.WriteComment(*pr.Number, lgtmRemovedBody); err != nil {
return
}
config.RemoveLabel(*pr.Number, "lgtm")
}
}
示例4: MungePullRequest
func (PingCIMunger) MungePullRequest(config *config.MungeConfig, 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)
}
}
示例5: MungePullRequest
func (PRSizeMunger) MungePullRequest(config *config.MungeConfig, pr *github.PullRequest, issue *github.Issue, commits []github.RepositoryCommit, events []github.IssueEvent) {
if pr.Additions == nil {
glog.Warningf("PR %d has nil Additions", *pr.Number)
return
}
if pr.Deletions == nil {
glog.Warningf("PR %d has nil Deletions", *pr.Number)
return
}
adds := *pr.Additions
dels := *pr.Deletions
// It would be 'better' to call this for every commit but that takes
// a whole lot of time for almost always the same information, and if
// our results are slightly wrong, who cares? Instead look for the
// generated files once per PR and if someone changed both what files
// are generated and then undid that change in an intermediate commit
// we might call this PR bigger than we "should."
genFiles := getGeneratedFiles(config, commits[len(commits)-1])
for _, c := range commits {
for _, f := range c.Files {
if strings.HasPrefix(*f.Filename, "Godeps/") {
adds = adds - *f.Additions
dels = dels - *f.Deletions
continue
}
found := false
for _, genFile := range genFiles {
if *f.Filename == genFile {
adds = adds - *f.Additions
dels = dels - *f.Deletions
found = true
break
}
}
if found {
continue
}
}
}
newSize := calculateSize(adds, dels)
newLabel := labelSizePrefix + newSize
existing := github_util.GetLabelsWithPrefix(issue.Labels, labelSizePrefix)
needsUpdate := true
for _, l := range existing {
if l == newLabel {
needsUpdate = false
continue
}
config.RemoveLabel(*pr.Number, l)
}
if needsUpdate {
config.AddLabels(*pr.Number, []string{newLabel})
body := fmt.Sprintf("Labelling this PR as %s", newLabel)
config.WriteComment(*pr.Number, body)
}
}