// Munge is the workhorse the will actually make updates to the PR func (h AssignUnassignHandler) Munge(obj *github.MungeObject) { if !obj.IsPR() { return } comments, err := obj.ListComments() if err != nil { glog.Errorf("unexpected error getting comments: %v", err) return } fileList, err := obj.ListFiles() if err != nil { glog.Errorf("Could not list the files for PR %v: %v", obj.Issue.Number, err) return } //get ALL (not just leaf) the people that could potentially own the file based on the blunderbuss.go implementation potentialOwners, _ := getPotentialOwners(*obj.Issue.User.Login, h.features, fileList, false) toAssign, toUnassign := h.getAssigneesAndUnassignees(obj, comments, fileList, potentialOwners) for _, username := range toAssign.List() { obj.AssignPR(username) } obj.UnassignPR(toUnassign.List()...) }