Advertisement
Guest User

Untitled

a guest
May 24th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "context"
  5. "fmt"
  6.  
  7. "github.com/google/go-github/github"
  8. )
  9.  
  10. func main() {
  11. username := "etataurov"
  12. tp := github.BasicAuthTransport{
  13. Username: username,
  14. Password: "PASSWORD",
  15. }
  16.  
  17. client := github.NewClient(tp.Client())
  18. ctx := context.Background()
  19. opt := &github.ListOptions{PerPage: 30}
  20. var allEvents []*github.IssueEvent
  21. repos := []string{"zvq-prod", "auth", "zvq-report"}
  22. var reviews []map[int]string
  23. for _, repo := range repos {
  24. reviewStates := make(map[int]string)
  25. for {
  26. events, resp, err := client.Activity.ListIssueEventsForRepository(ctx, "dreamindustries", repo, opt)
  27. if err != nil {
  28. fmt.Println(err)
  29. break
  30. }
  31. for _, e := range events {
  32. if e.GetEvent() == "review_requested" && e.Actor.GetLogin() != username {
  33. allEvents = append(allEvents, e)
  34. reviews, _, _ := client.PullRequests.ListReviews(ctx, "dreamindustries", repo, *e.Issue.Number, nil)
  35. for _, r := range reviews {
  36. if *r.User.Login == username {
  37. reviewStates[*e.Issue.Number] = r.GetState()
  38. }
  39. }
  40. }
  41. }
  42. if resp.NextPage == 0 || resp.NextPage == 3 {
  43. break
  44. }
  45. opt.Page = resp.NextPage
  46. }
  47. reviews = append(reviews, reviewStates)
  48. }
  49. fmt.Printf("\n%v\n", github.Stringify(reviews))
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement