@@ -283,3 +283,138 @@ func (s *EnterpriseService) RemoveTeamMember(ctx context.Context, enterprise, en
283283
284284 return resp , nil
285285}
286+
287+ // ListAssignments gets all organizations assigned to an enterprise team.
288+ //
289+ // GitHub API docs: https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#get-organization-assignments
290+ //
291+ //meta:operation GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations
292+ func (s * EnterpriseService ) ListAssignments (ctx context.Context , enterprise , enterpriseTeam string , opt * ListOptions ) ([]* Organization , * Response , error ) {
293+ u := fmt .Sprintf ("enterprises/%v/teams/%v/organizations" , enterprise , enterpriseTeam )
294+ u , err := addOptions (u , opt )
295+ if err != nil {
296+ return nil , nil , err
297+ }
298+
299+ req , err := s .client .NewRequest ("GET" , u , nil )
300+ if err != nil {
301+ return nil , nil , err
302+ }
303+
304+ var orgs []* Organization
305+ resp , err := s .client .Do (ctx , req , & orgs )
306+ if err != nil {
307+ return nil , resp , err
308+ }
309+
310+ return orgs , resp , nil
311+ }
312+
313+ // AddMultipleAssignments assigns an enterprise team to multiple organizations.
314+ //
315+ // GitHub API docs: https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#add-organization-assignments
316+ //
317+ //meta:operation POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add
318+ func (s * EnterpriseService ) AddMultipleAssignments (ctx context.Context , enterprise , enterpriseTeam string , organizationSlugs []string ) ([]* Organization , * Response , error ) {
319+ u := fmt .Sprintf ("enterprises/%v/teams/%v/organizations/add" , enterprise , enterpriseTeam )
320+
321+ req , err := s .client .NewRequest ("POST" , u , map [string ][]string {"organization_slugs" : organizationSlugs })
322+ if err != nil {
323+ return nil , nil , err
324+ }
325+
326+ var orgs []* Organization
327+ resp , err := s .client .Do (ctx , req , & orgs )
328+ if err != nil {
329+ return nil , resp , err
330+ }
331+
332+ return orgs , resp , nil
333+ }
334+
335+ // RemoveMultipleAssignments unassigns an enterprise team from multiple organizations.
336+ //
337+ // GitHub API docs: https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#remove-organization-assignments
338+ //
339+ //meta:operation POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove
340+ func (s * EnterpriseService ) RemoveMultipleAssignments (ctx context.Context , enterprise , enterpriseTeam string , organizationSlugs []string ) ([]* Organization , * Response , error ) {
341+ u := fmt .Sprintf ("enterprises/%v/teams/%v/organizations/remove" , enterprise , enterpriseTeam )
342+
343+ req , err := s .client .NewRequest ("POST" , u , map [string ][]string {"organization_slugs" : organizationSlugs })
344+ if err != nil {
345+ return nil , nil , err
346+ }
347+
348+ var orgs []* Organization
349+ resp , err := s .client .Do (ctx , req , & orgs )
350+ if err != nil {
351+ return nil , resp , err
352+ }
353+
354+ return orgs , resp , nil
355+ }
356+
357+ // GetAssignment checks if an enterprise team is assigned to an organization.
358+ //
359+ // GitHub API docs: https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#get-organization-assignment
360+ //
361+ //meta:operation GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
362+ func (s * EnterpriseService ) GetAssignment (ctx context.Context , enterprise , enterpriseTeam , org string ) (* Organization , * Response , error ) {
363+ u := fmt .Sprintf ("enterprises/%v/teams/%v/organizations/%v" , enterprise , enterpriseTeam , org )
364+
365+ req , err := s .client .NewRequest ("GET" , u , nil )
366+ if err != nil {
367+ return nil , nil , err
368+ }
369+
370+ var organization * Organization
371+ resp , err := s .client .Do (ctx , req , & organization )
372+ if err != nil {
373+ return nil , resp , err
374+ }
375+
376+ return organization , resp , nil
377+ }
378+
379+ // AddAssignment assigns an enterprise team to an organizations.
380+ //
381+ // GitHub API docs: https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#add-an-organization-assignment
382+ //
383+ //meta:operation PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
384+ func (s * EnterpriseService ) AddAssignment (ctx context.Context , enterprise , enterpriseTeam , org string ) (* Organization , * Response , error ) {
385+ u := fmt .Sprintf ("enterprises/%v/teams/%v/organizations/%v" , enterprise , enterpriseTeam , org )
386+
387+ req , err := s .client .NewRequest ("PUT" , u , nil )
388+ if err != nil {
389+ return nil , nil , err
390+ }
391+
392+ var organization * Organization
393+ resp , err := s .client .Do (ctx , req , & organization )
394+ if err != nil {
395+ return nil , resp , err
396+ }
397+
398+ return organization , resp , nil
399+ }
400+
401+ // RemoveAssignment unassigns an enterprise team from an organizations.
402+ //
403+ // GitHub API docs: https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#delete-an-organization-assignment
404+ //
405+ //meta:operation DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
406+ func (s * EnterpriseService ) RemoveAssignment (ctx context.Context , enterprise , enterpriseTeam , org string ) (* Response , error ) {
407+ u := fmt .Sprintf ("enterprises/%v/teams/%v/organizations/%v" , enterprise , enterpriseTeam , org )
408+
409+ req , err := s .client .NewRequest ("DELETE" , u , nil )
410+ if err != nil {
411+ return nil , err
412+ }
413+
414+ resp , err := s .client .Do (ctx , req , nil )
415+ if err != nil {
416+ return resp , err
417+ }
418+
419+ return resp , nil
420+ }
0 commit comments