diff --git a/pkg/cibot/pullrequest.go b/pkg/cibot/pullrequest.go index ffd49b161073c8a4da31c827d0a1c0ea0fc33eb7..e93c1456682f6ebd52d19c59897bb9bbbeef8a05 100644 --- a/pkg/cibot/pullrequest.go +++ b/pkg/cibot/pullrequest.go @@ -58,6 +58,19 @@ func (s *Server) HandlePullRequestEvent(actionDesc string, event *gitee.PullRequ } } } + // add a tag to describe the sig name of the repo. + sigName := s.getSigNameFromRepo(event.Repository.FullName) + if len(sigName) > 0{ + addlabel := &gitee.NoteEvent{} + addlabel.PullRequest = event.PullRequest + addlabel.Repository = event.Repository + addlabel.Comment = &gitee.NoteHook{} + err = s.AddSpecifyLabelsInPulRequest(addlabel, []string{fmt.Sprintf("sig/%s", sigName)}, true) + if err != nil { + glog.Errorf("Add special label sig info failed: %v", err) + return + } + } if s.Config.AutoDetectCla { err = s.CheckCLAByPullRequestEvent(event) diff --git a/pkg/cibot/sighandler.go b/pkg/cibot/sighandler.go index b9144e74dd1d47abcc91208c78fb283e80538986..6d70c932915477cef1adb0f9a2b423daf7c64d6f 100644 --- a/pkg/cibot/sighandler.go +++ b/pkg/cibot/sighandler.go @@ -439,3 +439,25 @@ func (handler *SigHandler) addSigRepos(sig Sig, mapSigRepos, mapSigReposInDB map return nil } + +// get Sig name by Repo name +func (s *Server) getSigNameFromRepo(repoName string) (sigName string) { + sigName = "" + if len(repoName) == 0 || len(repoName) > 128 { + glog.Errorf("Repo name is invalid.") + return + } + // get sig repos from DB + glog.Infof("Repo name is:%s .", repoName) + var srs database.SigRepositories + err := database.DBConnection.Model(&database.SigRepositories{}). + Where("repo_name = ?", repoName).Find(&srs).Error + if err != nil { + glog.Errorf("unable to get sig repos: %v", err) + return + } + sigName = srs.Name + glog.Infof("end to add sig repos for %s", sigName) + return +} +