@@ -169,15 +169,28 @@ func resourceGithubActionsRunnerGroupRead(d *schema.ResourceData, meta interface
169169 d .Set ("visibility" , runnerGroup .GetVisibility ())
170170
171171 log .Printf ("[DEBUG] Reading organization runner group repositories: %s (%s)" , d .Id (), orgName )
172- runnerGroupRepositories , _ , err := client . Actions . ListRepositoryAccessRunnerGroup ( ctx , orgName , runnerGroupID , nil )
173- if err != nil {
174- return err
172+ selectedRepositoryIDs := [] int64 {}
173+ options := github. ListOptions {
174+ PerPage : maxPerPage ,
175175 }
176176
177- selectedRepositoryIDs := []int64 {}
178- for _ , repo := range runnerGroupRepositories .Repositories {
179- selectedRepositoryIDs = append (selectedRepositoryIDs , * repo .ID )
177+ for {
178+ runnerGroupRepositories , resp , err := client .Actions .ListRepositoryAccessRunnerGroup (ctx , orgName , runnerGroupID , & options )
179+ if err != nil {
180+ return err
181+ }
182+
183+ for _ , repo := range runnerGroupRepositories .Repositories {
184+ selectedRepositoryIDs = append (selectedRepositoryIDs , * repo .ID )
185+ }
186+
187+ if resp .NextPage == 0 {
188+ break
189+ }
190+
191+ options .Page = resp .NextPage
180192 }
193+
181194 log .Printf ("[DEBUG] Got selected_repository_ids: %v" , selectedRepositoryIDs )
182195 d .Set ("selected_repository_ids" , selectedRepositoryIDs )
183196
@@ -212,6 +225,24 @@ func resourceGithubActionsRunnerGroupUpdate(d *schema.ResourceData, meta interfa
212225 return err
213226 }
214227
228+ selectedRepositories , hasSelectedRepositories := d .GetOk ("selected_repository_ids" )
229+ selectedRepositoryIDs := []int64 {}
230+
231+ if hasSelectedRepositories {
232+ ids := selectedRepositories .(* schema.Set ).List ()
233+
234+ for _ , id := range ids {
235+ selectedRepositoryIDs = append (selectedRepositoryIDs , int64 (id .(int )))
236+ }
237+ }
238+
239+ reposOptions := github.SetRepoAccessRunnerGroupRequest {SelectedRepositoryIDs : selectedRepositoryIDs }
240+
241+ log .Printf ("[DEBUG] Updating organization runner group's selected repositries: %s (%s)" , d .Id (), orgName )
242+ if _ , err := client .Actions .SetRepositoryAccessRunnerGroup (ctx , orgName , runnerGroupID , reposOptions ); err != nil {
243+ return err
244+ }
245+
215246 return resourceGithubActionsRunnerGroupRead (d , meta )
216247}
217248
0 commit comments