func()

in ccadb2OneCRL/main.go [651:681]


func (u *Updater) BlastEmails(intersection *onecrl.Set) {
	bugIDs := make(map[int]bool, 0)
	builder := strings.Builder{}
	builder.WriteString("Changes are still in review. The following bugs appear to require resolution.\n")
	for e := range intersection.Iter() {
		entry := e.(*onecrl.Record)
		id, err := u.bugzilla.IDFromShowBug(entry.Details.Bug)
		if err != nil {
			log.WithError(err).
				WithField("url", entry.Details.Bug).
				Error("failed to retrieve bugzilla ID number from URL")
			continue
		}
		if bugIDs[id] {
			continue
		}
		builder.WriteByte('\t')
		builder.WriteString(entry.Details.Bug)
		bugIDs[id] = true
	}
	for id := range bugIDs {
		_, err := u.bugzilla.UpdateBug(&bugs.Update{
			Id:      id,
			Ids:     []int{id},
			Comment: &bugs.Comment{Body: builder.String()},
		})
		if err != nil {
			log.WithError(err).WithField("ID", id).Warn("failed to ping blocking bug")
		}
	}
}