package main import ( "context" "fmt" "os" "log" "path" "strings" "github.com/google/go-github/github" ) func main() { // TODO: parse options from command line var aport string = "" // if APKBUILD exists in current directory, then we limit the search if _, err := os.Stat("APKBUILD"); err == nil { dir,err := os.Getwd() if err != nil { log.Fatal(err) } aport = path.Base(dir) fmt.Println("searching for: ", aport) } // TODO: allow set this in some config file owner := "alpinelinux" repo := "aports" // TODO: allow set authentication client := github.NewClient(nil) ctx := context.Background() opt := &github.PullRequestListOptions{ ListOptions: github.ListOptions{PerPage: 200}, } for { prs, resp, err := client.PullRequests.List(ctx, owner, repo, opt) if err != nil { log.Fatal(err) } for _, pr := range prs { if aport != "" && ! strings.Contains(*pr.Title, aport) { continue } fmt.Println(*pr.Number, *pr.User.Login, *pr.URL, *pr.Title) } if resp.NextPage == 0 { break } opt.Page = resp.NextPage } }