func getCherrypickParentPRs(obj *github.MungeObject, config *github.Config) []*github.MungeObject { out := []*github.MungeObject{} if obj.Issue.Body == nil { glog.Errorf("Found a nil body in %d", *obj.Issue.Number) return nil } body := *obj.Issue.Body // foundOne tracks if we found any valid lines. PR without any valid lines // shouldn't get autolabeled. lines := strings.Split(body, "\n") for _, line := range lines { matches := cpRe.FindStringSubmatch(line) if len(matches) != 3 { glog.V(6).Infof("%d: line:%v len(matches)=%d", *obj.Issue.Number, line, len(matches)) continue } parentPRNum, err := strconv.Atoi(matches[1]) if err != nil { glog.Errorf("%d: Unable to convert %q to parent PR number", *obj.Issue.Number, matches[1]) return nil } parentPR, err := config.GetObject(parentPRNum) if err != nil { glog.Errorf("Unable to get object for %d", parentPRNum) return nil } out = append(out, parentPR) } return out }