// Filters issues based on mileston, assignee, creatoror, labels or state. // Pass empty strings for things that arnt to be filtered. // Returns array of issues in order asked for. // TODO(butlerx) filter offline issues if query of repo fails. func IssuesFilter(repo, state, milestone, assignee, creator, sort, order string, labels []string) ([]github.Issue, error) { s := strings.Split(repo, "/") sorting := new(github.IssueListByRepoOptions) if len(labels) != 0 { sorting.Labels = labels } if state != "" { sorting.State = state } if milestone != "" { sorting.Milestone = milestone } if assignee != "" { sorting.Assignee = assignee } if creator != "" { sorting.Creator = creator } if sort != "" { sorting.Sort = sort } if order != "" { sorting.Direction = order } issues, _, err := client.Issues.ListByRepo(s[0], s[1], sorting) return issues, err }