Skip to content

Commit fc85191

Browse files
authored
Use pagination to retrieve all team members (#702)
1 parent 7f60d42 commit fc85191

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

github/data_source_github_team.go

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package github
22

33
import (
44
"context"
5+
"github.com/google/go-github/v32/github"
56
"log"
67
"strconv"
78

@@ -59,14 +60,27 @@ func dataSourceGithubTeamRead(d *schema.ResourceData, meta interface{}) error {
5960
return err
6061
}
6162

62-
member, _, err := client.Teams.ListTeamMembersByID(ctx, orgId, team.GetID(), nil)
63-
if err != nil {
64-
return err
63+
options := github.TeamListTeamMembersOptions{
64+
ListOptions: github.ListOptions{
65+
PerPage: maxPerPage,
66+
},
6567
}
6668

67-
members := []string{}
68-
for _, v := range member {
69-
members = append(members, v.GetLogin())
69+
var members []string
70+
for {
71+
member, resp, err := client.Teams.ListTeamMembersByID(ctx, orgId, team.GetID(), &options)
72+
if err != nil {
73+
return err
74+
}
75+
76+
for _, v := range member {
77+
members = append(members, v.GetLogin())
78+
}
79+
80+
if resp.NextPage == 0 {
81+
break
82+
}
83+
options.Page = resp.NextPage
7084
}
7185

7286
d.SetId(strconv.FormatInt(team.GetID(), 10))

0 commit comments

Comments
 (0)