本文整理汇总了Golang中github.com/docker/leeroy/github.GitHub.LabelIssueComment方法的典型用法代码示例。如果您正苦于以下问题:Golang GitHub.LabelIssueComment方法的具体用法?Golang GitHub.LabelIssueComment怎么用?Golang GitHub.LabelIssueComment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/docker/leeroy/github.GitHub
的用法示例。
在下文中一共展示了GitHub.LabelIssueComment方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: handleIssue
func handleIssue(w http.ResponseWriter, r *http.Request) {
logrus.Debugf("Got an issue hook")
// parse the issue
body, err := ioutil.ReadAll(r.Body)
if err != nil {
logrus.Errorf("Error reading github issue handler body: %v", err)
w.WriteHeader(500)
return
}
issueHook, err := octokat.ParseIssueHook(body)
if err != nil {
logrus.Errorf("Error parsing issue hook: %v", err)
w.WriteHeader(500)
return
}
// get the build
baseRepo := fmt.Sprintf("%s/%s", issueHook.Repo.Owner.Login, issueHook.Repo.Name)
logrus.Debugf("Issue is for repo: %s", baseRepo)
build, err := config.getBuildByContextAndRepo("janky", baseRepo)
if err != nil {
logrus.Warnf("could not find build for repo %s for issue handler, skipping: %v", baseRepo, err)
return
}
// if we do not handle issues for this build just return
if !build.HandleIssues {
logrus.Warnf("Not configured to handle issues for %s", baseRepo)
return
}
g := github.GitHub{
AuthToken: config.GHToken,
User: config.GHUser,
}
logrus.Infof("Received GitHub issue notification for %s %d (%s): %s", baseRepo, issueHook.Issue.Number, issueHook.Issue.URL, issueHook.Action)
// if it is not a comment or an opened issue
// return becuase we dont care
if !issueHook.IsComment() && !issueHook.IsOpened() {
logrus.Debugf("Ignoring issue hook action %q", issueHook.Action)
return
}
// if the issue has just been opened
// parse if ENEEDMOREINFO
if issueHook.IsOpened() {
logrus.Debug("Issue is opened, checking if we have correct info")
if err := g.IssueInfoCheck(issueHook); err != nil {
logrus.Errorf("Error checking if issue opened needs more info: %v", err)
w.WriteHeader(500)
return
}
w.WriteHeader(200)
return
}
if issueHook.Issue.State != "open" {
return
}
if issueHook.Issue.PullRequest.HTMLURL != "" {
if err := g.MoveTriageForward(issueHook.Repo, issueHook.Issue.Number, issueHook.Comment); err != nil {
logrus.Error(err)
w.WriteHeader(500)
return
}
w.WriteHeader(204)
return
}
// handle if it is an issue comment
// apply approproate labels
if err := g.LabelIssueComment(issueHook); err != nil {
logrus.Errorf("Error applying labels to issue comment: %v", err)
w.WriteHeader(500)
return
}
return
}