Skip to content

Instantly share code, notes, and snippets.

@etataurov
Created May 24, 2017 21:13
Show Gist options
  • Save etataurov/b01182bff6f1367b8e2c9543cb5d8e50 to your computer and use it in GitHub Desktop.
Save etataurov/b01182bff6f1367b8e2c9543cb5d8e50 to your computer and use it in GitHub Desktop.
package main
import (
"context"
"fmt"
"github.com/google/go-github/github"
)
func main() {
username := "etataurov"
tp := github.BasicAuthTransport{
Username: username,
Password: "PASSWORD",
}
client := github.NewClient(tp.Client())
ctx := context.Background()
opt := &github.ListOptions{PerPage: 30}
var allEvents []*github.IssueEvent
repos := []string{"zvq-prod", "auth", "zvq-report"}
var reviews []map[int]string
for _, repo := range repos {
reviewStates := make(map[int]string)
for {
events, resp, err := client.Activity.ListIssueEventsForRepository(ctx, "dreamindustries", repo, opt)
if err != nil {
fmt.Println(err)
break
}
for _, e := range events {
if e.GetEvent() == "review_requested" && e.Actor.GetLogin() != username {
allEvents = append(allEvents, e)
reviews, _, _ := client.PullRequests.ListReviews(ctx, "dreamindustries", repo, *e.Issue.Number, nil)
for _, r := range reviews {
if *r.User.Login == username {
reviewStates[*e.Issue.Number] = r.GetState()
}
}
}
}
if resp.NextPage == 0 || resp.NextPage == 3 {
break
}
opt.Page = resp.NextPage
}
reviews = append(reviews, reviewStates)
}
fmt.Printf("\n%v\n", github.Stringify(reviews))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment