Module: Octokit::Client::Organizations
- Included in:
- Octokit::Client
- Defined in:
- lib/octokit/client/organizations.rb
Overview
Methods for the Organizations API
Instance Method Summary collapse
-
#add_team_member(team_id, user, options = {}) ⇒ Boolean
Add team member.
-
#add_team_membership(team_id, user, options = {}) ⇒ Sawyer::Resource
Add or invite a user to a team.
-
#add_team_repository(team_id, repo, options = {}) ⇒ Boolean
(also: #add_team_repo)
Add team repository.
-
#all_organizations(options = {}) ⇒ Array<Sawyer::Resource>
(also: #all_orgs)
List all GitHub organizations.
-
#billing_actions(org) ⇒ Sawyer::Resource
Get GitHub Actions billing for an organization.
-
#child_teams(team_id, options = {}) ⇒ Sawyer::Resource
List child teams.
-
#convert_to_outside_collaborator(org, user, options = {}) ⇒ Boolean
Converts an organization member to an outside collaborator.
-
#create_team(org, options = {}) ⇒ Sawyer::Resource
Create team.
-
#delete_migration_archive(org, id, options = {}) ⇒ Object
Deletes a previous migration archive.
-
#delete_organization(org) ⇒ Boolean
(also: #delete_org)
Delete an organization.
-
#delete_team(team_id, options = {}) ⇒ Boolean
Delete team.
-
#migration_archive_url(org, id, options = {}) ⇒ Object
Fetches the URL to a migration archive.
-
#migration_status(org, id, options = {}) ⇒ Object
Fetches the status of a migration.
-
#migrations(org, options = {}) ⇒ Array<Sawyer::Resource>
Lists the most recent migrations.
-
#organization(org, options = {}) ⇒ Sawyer::Resource
(also: #org)
Get an organization.
-
#organization_audit_log(org, options = {}) ⇒ Array<Sawyer::Resource>
Get organization audit log.
-
#organization_invitations(org, options = {}) ⇒ Array<Sawyer::Resource>
(also: #org_invitations)
List pending organization invitations.
-
#organization_member?(org, user, options = {}) ⇒ Boolean
(also: #org_member?)
Check if a user is a member of an organization.
-
#organization_members(org, options = {}) ⇒ Array<Sawyer::Resource>
(also: #org_members)
Get organization members.
-
#organization_membership(org, options = {}) ⇒ Sawyer::Resource
(also: #org_membership)
Get an organization membership.
-
#organization_memberships(options = {}) ⇒ Array<Sawyer::Resource>
(also: #org_memberships)
List all organizations memberships for the authenticated user.
-
#organization_public_member?(org, user, options = {}) ⇒ Boolean
(also: #org_public_member?)
Check if a user is a public member of an organization.
-
#organization_public_members(org, options = {}) ⇒ Array<Sawyer::Resource>
(also: #org_public_members)
Get organization public members.
-
#organization_repositories(org, options = {}) ⇒ Array<Sawyer::Resource>
(also: #org_repositories, #org_repos)
List organization repositories.
-
#organization_teams(org, options = {}) ⇒ Array<Sawyer::Resource>
(also: #org_teams)
List teams.
-
#organizations(user = nil, options = {}) ⇒ Array<Sawyer::Resource>
(also: #list_organizations, #list_orgs, #orgs)
Get organizations for a user.
-
#outside_collaborators(org, options = {}) ⇒ Array<Sawyer::Resource>
List outside collaborators for an organization.
-
#publicize_membership(org, user, options = {}) ⇒ Boolean
Publicize a user's membership of an organization.
-
#remove_organization_member(org, user, options = {}) ⇒ Boolean
(also: #remove_org_member)
Remove organization member.
-
#remove_organization_membership(org, options = {}) ⇒ Boolean
(also: #remove_org_membership)
Remove an organization membership.
-
#remove_outside_collaborator(org, user, options = {}) ⇒ Boolean
Remove outside collaborator from an organization.
-
#remove_team_member(team_id, user, options = {}) ⇒ Boolean
Remove team member.
-
#remove_team_membership(team_id, user, options = {}) ⇒ Boolean
Remove team membership.
-
#remove_team_repository(team_id, repo, _options = {}) ⇒ Boolean
(also: #remove_team_repo)
Remove team repository.
-
#start_migration(org, repositories, options = {}) ⇒ Sawyer::Resource
Initiates the generation of a migration archive.
-
#team(team_id, options = {}) ⇒ Sawyer::Resource
Get team.
-
#team_by_name(org, team_slug, options = {}) ⇒ Sawyer::Resource
Get team by name and org.
-
#team_invitations(team_id, options = {}) ⇒ Array<Sawyer::Resource>
List pending team invitations.
-
#team_member?(team_id, user, options = {}) ⇒ Boolean
Check if a user is a member of a team.
-
#team_members(team_id, options = {}) ⇒ Array<Sawyer::Resource>
List team members.
-
#team_membership(team_id, user, options = {}) ⇒ Sawyer::Resource
Check if a user has a team membership.
-
#team_permissions_for_repo(org, team_slug_or_id, owner, repo, options = {}) ⇒ String, Sawyer::Resource
Check team permissions for a repository.
-
#team_repositories(team_id, options = {}) ⇒ Array<Sawyer::Resource>
(also: #team_repos)
List team repositories.
-
#team_repository?(team_id, repo, _options = {}) ⇒ Boolean
(also: #team_repo?)
Check if a repo is managed by a specific team.
-
#unlock_repository(org, id, repo, options = {}) ⇒ Object
Unlock a previous migration archive.
-
#unpublicize_membership(org, user, options = {}) ⇒ Boolean
(also: #conceal_membership)
Conceal a user's membership of an organization.
-
#update_organization(org, values, options = {}) ⇒ Sawyer::Resource
(also: #update_org)
Update an organization.
-
#update_organization_membership(org, options = {}) ⇒ Sawyer::Resource
(also: #update_org_membership)
Edit an organization membership.
-
#update_team(team_id, options = {}) ⇒ Sawyer::Resource
Update team.
-
#user_teams(options = {}) ⇒ Array<Sawyer::Resource>
List all teams for the authenticated user across all their orgs.
Instance Method Details
#add_team_member(team_id, user, options = {}) ⇒ Boolean
Add team member
Requires authenticated organization owner or member with team
admin
permission.
458 459 460 461 462 463 |
# File 'lib/octokit/client/organizations.rb', line 458 def add_team_member(team_id, user, = {}) # There's a bug in this API call. The docs say to leave the body blank, # but it fails if the body is both blank and the content-length header # is not 0. boolean_from_response :put, "teams/#{team_id}/members/#{user}", .merge({ name: user }) end |
#add_team_membership(team_id, user, options = {}) ⇒ Sawyer::Resource
Add or invite a user to a team
679 680 681 |
# File 'lib/octokit/client/organizations.rb', line 679 def add_team_membership(team_id, user, = {}) put "teams/#{team_id}/memberships/#{user}", end |
#add_team_repository(team_id, repo, options = {}) ⇒ Boolean Also known as: add_team_repo
Add team repository
This can also be used to update the permission of an existing team
Requires authenticated user to be an owner of the organization that the team is associated with. Also, the repo must be owned by the organization, or a direct form of a repo owned by the organization.
570 571 572 |
# File 'lib/octokit/client/organizations.rb', line 570 def add_team_repository(team_id, repo, = {}) boolean_from_response :put, "teams/#{team_id}/repos/#{Repository.new(repo)}", end |
#all_organizations(options = {}) ⇒ Array<Sawyer::Resource> Also known as: all_orgs
List all GitHub organizations
This provides a list of every organization, in the order that they were created.
Organization that you’ve seen.
116 117 118 |
# File 'lib/octokit/client/organizations.rb', line 116 def all_organizations( = {}) paginate 'organizations', end |
#billing_actions(org) ⇒ Sawyer::Resource
Get GitHub Actions billing for an organization
Requires authenticated organization owner.
839 840 841 |
# File 'lib/octokit/client/organizations.rb', line 839 def billing_actions(org) get "#{Organization.path(org)}/settings/billing/actions" end |
#child_teams(team_id, options = {}) ⇒ Sawyer::Resource
List child teams
Requires authenticated organization member.
384 385 386 |
# File 'lib/octokit/client/organizations.rb', line 384 def child_teams(team_id, = {}) paginate "teams/#{team_id}/teams", end |
#convert_to_outside_collaborator(org, user, options = {}) ⇒ Boolean
Converts an organization member to an outside collaborator
Requires authenticated organization members.
284 285 286 |
# File 'lib/octokit/client/organizations.rb', line 284 def convert_to_outside_collaborator(org, user, = {}) boolean_from_response :put, "#{Organization.path org}/outside_collaborators/#{user}", end |
#create_team(org, options = {}) ⇒ Sawyer::Resource
Create team
Requires authenticated organization owner.
320 321 322 323 324 325 |
# File 'lib/octokit/client/organizations.rb', line 320 def create_team(org, = {}) if .key?(:permission) octokit_warn 'Deprecated: Passing :permission option to #create_team. Assign team repository permission by passing :permission to #add_team_repository instead.' end post "#{Organization.path org}/teams", end |
#delete_migration_archive(org, id, options = {}) ⇒ Object
Deletes a previous migration archive.
Requires authenticated organization owner.
813 814 815 |
# File 'lib/octokit/client/organizations.rb', line 813 def delete_migration_archive(org, id, = {}) delete "#{Organization.path(org)}/migrations/#{id}/archive", end |
#delete_organization(org) ⇒ Boolean Also known as: delete_org
Delete an organization.
Requires authenticated organization owner.
64 65 66 |
# File 'lib/octokit/client/organizations.rb', line 64 def delete_organization(org) boolean_from_response :delete, Organization.path(org) end |
#delete_team(team_id, options = {}) ⇒ Boolean
Delete team
Requires authenticated organization owner.
420 421 422 |
# File 'lib/octokit/client/organizations.rb', line 420 def delete_team(team_id, = {}) boolean_from_response :delete, "teams/#{team_id}", end |
#migration_archive_url(org, id, options = {}) ⇒ Object
Fetches the URL to a migration archive.
Requires authenticated organization owner.
799 800 801 802 803 804 |
# File 'lib/octokit/client/organizations.rb', line 799 def migration_archive_url(org, id, = {}) url = "#{Organization.path(org)}/migrations/#{id}/archive" response = client_without_redirects().get(url) response.headers['location'] end |
#migration_status(org, id, options = {}) ⇒ Object
Fetches the status of a migration.
Requires authenticated organization owner.
788 789 790 |
# File 'lib/octokit/client/organizations.rb', line 788 def migration_status(org, id, = {}) get "#{Organization.path(org)}/migrations/#{id}", end |
#migrations(org, options = {}) ⇒ Array<Sawyer::Resource>
Lists the most recent migrations.
Requires authenticated organization owner.
777 778 779 |
# File 'lib/octokit/client/organizations.rb', line 777 def migrations(org, = {}) paginate "#{Organization.path(org)}/migrations", end |
#organization(org, options = {}) ⇒ Sawyer::Resource Also known as: org
Get an organization
18 19 20 |
# File 'lib/octokit/client/organizations.rb', line 18 def organization(org, = {}) get Organization.path(org), end |
#organization_audit_log(org, options = {}) ⇒ Array<Sawyer::Resource>
Get organization audit log.
Gets the audit log for an organization.
To list oldest events first, specify asc.
859 860 861 |
# File 'lib/octokit/client/organizations.rb', line 859 def organization_audit_log(org, = {}) paginate "#{Organization.path org}/audit-log", end |
#organization_invitations(org, options = {}) ⇒ Array<Sawyer::Resource> Also known as: org_invitations
List pending organization invitations
Requires authenticated organization member.
239 240 241 |
# File 'lib/octokit/client/organizations.rb', line 239 def organization_invitations(org, = {}) get "#{Organization.path org}/invitations", end |
#organization_member?(org, user, options = {}) ⇒ Boolean Also known as: org_member?
Check if a user is a member of an organization.
Use this to check if another user is a member of an organization that you are a member. If you are not in the organization you are checking, use .organization_public_member? instead.
199 200 201 202 203 204 205 206 |
# File 'lib/octokit/client/organizations.rb', line 199 def organization_member?(org, user, = {}) result = boolean_from_response(:get, "#{Organization.path org}/members/#{user}", ) if !result && last_response && last_response.status == 302 boolean_from_response :get, last_response.headers['Location'] else result end end |
#organization_members(org, options = {}) ⇒ Array<Sawyer::Resource> Also known as: org_members
Get organization members
Public members of the organization are returned by default. An authenticated client that is a member of the GitHub organization is required to get private members.
160 161 162 163 164 |
# File 'lib/octokit/client/organizations.rb', line 160 def organization_members(org, = {}) = .dup path = 'public_' if .delete(:public) paginate "#{Organization.path org}/#{path}members", end |
#organization_membership(org, options = {}) ⇒ Sawyer::Resource Also known as: org_membership
Get an organization membership
711 712 713 714 715 716 717 718 |
# File 'lib/octokit/client/organizations.rb', line 711 def organization_membership(org, = {}) = .dup if user = .delete(:user) get "#{Organization.path(org)}/memberships/#{user}", else get "user/memberships/orgs/#{org}", end end |
#organization_memberships(options = {}) ⇒ Array<Sawyer::Resource> Also known as: org_memberships
List all organizations memberships for the authenticated user
699 700 701 |
# File 'lib/octokit/client/organizations.rb', line 699 def organization_memberships( = {}) paginate 'user/memberships/orgs', end |
#organization_public_member?(org, user, options = {}) ⇒ Boolean Also known as: org_public_member?
Check if a user is a public member of an organization.
If you are checking for membership of a user of an organization that you are in, use .organization_member? instead.
224 225 226 |
# File 'lib/octokit/client/organizations.rb', line 224 def organization_public_member?(org, user, = {}) boolean_from_response :get, "#{Organization.path org}/public_members/#{user}", end |
#organization_public_members(org, options = {}) ⇒ Array<Sawyer::Resource> Also known as: org_public_members
Get organization public members
Lists the public members of an organization
178 179 180 |
# File 'lib/octokit/client/organizations.rb', line 178 def organization_public_members(org, = {}) organization_members org, .merge(public: true) end |
#organization_repositories(org, options = {}) ⇒ Array<Sawyer::Resource> Also known as: org_repositories, org_repos
List organization repositories
Public repositories are available without authentication. Private repos require authenticated organization member.
141 142 143 |
# File 'lib/octokit/client/organizations.rb', line 141 def organization_repositories(org, = {}) paginate "#{Organization.path org}/repos", end |
#organization_teams(org, options = {}) ⇒ Array<Sawyer::Resource> Also known as: org_teams
List teams
Requires authenticated organization member.
299 300 301 |
# File 'lib/octokit/client/organizations.rb', line 299 def organization_teams(org, = {}) paginate "#{Organization.path org}/teams", end |
#organizations(user = nil, options = {}) ⇒ Array<Sawyer::Resource> Also known as: list_organizations, list_orgs, orgs
Get organizations for a user.
Nonauthenticated calls to this method will return organizations that the user is a public member.
Use an authenticated client to get both public and private organizations for a user.
Calling this method on a @client
will return that users organizations.
Private organizations are included only if the @client
is authenticated.
97 98 99 |
# File 'lib/octokit/client/organizations.rb', line 97 def organizations(user = nil, = {}) paginate "#{User.path user}/orgs", end |
#outside_collaborators(org, options = {}) ⇒ Array<Sawyer::Resource>
List outside collaborators for an organization
Requires authenticated organization members.
254 255 256 |
# File 'lib/octokit/client/organizations.rb', line 254 def outside_collaborators(org, = {}) paginate "#{Organization.path org}/outside_collaborators", end |
#publicize_membership(org, user, options = {}) ⇒ Boolean
Publicize a user's membership of an organization
Requires authenticated organization owner.
624 625 626 |
# File 'lib/octokit/client/organizations.rb', line 624 def publicize_membership(org, user, = {}) boolean_from_response :put, "#{Organization.path org}/public_members/#{user}", end |
#remove_organization_member(org, user, options = {}) ⇒ Boolean Also known as: remove_org_member
Remove organization member
Requires authenticated organization owner or member with team admin
access.
607 608 609 610 611 |
# File 'lib/octokit/client/organizations.rb', line 607 def remove_organization_member(org, user, = {}) # this is a synonym for: for team in org.teams: remove_team_member(team.id, user) # provided in the GH API v3 boolean_from_response :delete, "#{Organization.path org}/members/#{user}", end |
#remove_organization_membership(org, options = {}) ⇒ Boolean Also known as: remove_org_membership
Remove an organization membership
747 748 749 750 751 |
# File 'lib/octokit/client/organizations.rb', line 747 def remove_organization_membership(org, = {}) = .dup user = .delete(:user) user && boolean_from_response(:delete, "#{Organization.path(org)}/memberships/#{user}", ) end |
#remove_outside_collaborator(org, user, options = {}) ⇒ Boolean
Remove outside collaborator from an organization
Requires authenticated organization members.
269 270 271 |
# File 'lib/octokit/client/organizations.rb', line 269 def remove_outside_collaborator(org, user, = {}) boolean_from_response :delete, "#{Organization.path org}/outside_collaborators/#{user}", end |
#remove_team_member(team_id, user, options = {}) ⇒ Boolean
Remove team member
Requires authenticated organization owner or member with team
admin
permission.
476 477 478 |
# File 'lib/octokit/client/organizations.rb', line 476 def remove_team_member(team_id, user, = {}) boolean_from_response :delete, "teams/#{team_id}/members/#{user}", end |
#remove_team_membership(team_id, user, options = {}) ⇒ Boolean
Remove team membership
691 692 693 |
# File 'lib/octokit/client/organizations.rb', line 691 def remove_team_membership(team_id, user, = {}) boolean_from_response :delete, "teams/#{team_id}/memberships/#{user}", end |
#remove_team_repository(team_id, repo, _options = {}) ⇒ Boolean Also known as: remove_team_repo
Remove team repository
Removes repository from team. Does not delete the repository.
Requires authenticated organization owner.
590 591 592 |
# File 'lib/octokit/client/organizations.rb', line 590 def remove_team_repository(team_id, repo, = {}) boolean_from_response :delete, "teams/#{team_id}/repos/#{Repository.new(repo)}" end |
#start_migration(org, repositories, options = {}) ⇒ Sawyer::Resource
Initiates the generation of a migration archive.
Requires authenticated organization owner.
765 766 767 768 |
# File 'lib/octokit/client/organizations.rb', line 765 def start_migration(org, repositories, = {}) [:repositories] = repositories post "#{Organization.path(org)}/migrations", end |
#team(team_id, options = {}) ⇒ Sawyer::Resource
Get team
Requires authenticated organization member.
336 337 338 |
# File 'lib/octokit/client/organizations.rb', line 336 def team(team_id, = {}) get "teams/#{team_id}", end |
#team_by_name(org, team_slug, options = {}) ⇒ Sawyer::Resource
Get team by name and org
Requires authenticated organization member.
350 351 352 |
# File 'lib/octokit/client/organizations.rb', line 350 def team_by_name(org, team_slug, = {}) get "#{Organization.path(org)}/teams/#{team_slug}", end |
#team_invitations(team_id, options = {}) ⇒ Array<Sawyer::Resource>
List pending team invitations
Requires authenticated organization member.
509 510 511 |
# File 'lib/octokit/client/organizations.rb', line 509 def team_invitations(team_id, = {}) get "teams/#{team_id}/invitations", end |
#team_member?(team_id, user, options = {}) ⇒ Boolean
Check if a user is a member of a team.
Use this to check if another user is a member of a team that you are a member.
495 496 497 |
# File 'lib/octokit/client/organizations.rb', line 495 def team_member?(team_id, user, = {}) boolean_from_response :get, "teams/#{team_id}/members/#{user}", end |
#team_members(team_id, options = {}) ⇒ Array<Sawyer::Resource>
List team members
Requires authenticated organization member.
433 434 435 |
# File 'lib/octokit/client/organizations.rb', line 433 def team_members(team_id, = {}) paginate "teams/#{team_id}/members", end |
#team_membership(team_id, user, options = {}) ⇒ Sawyer::Resource
Check if a user has a team membership.
664 665 666 |
# File 'lib/octokit/client/organizations.rb', line 664 def team_membership(team_id, user, = {}) get "teams/#{team_id}/memberships/#{user}", end |
#team_permissions_for_repo(org, team_slug_or_id, owner, repo, options = {}) ⇒ String, Sawyer::Resource
Check team permissions for a repository
Requires authenticated organization member.
371 372 373 |
# File 'lib/octokit/client/organizations.rb', line 371 def (org, team_slug_or_id, owner, repo, = {}) get "#{Organization.path(org)}/teams/#{team_slug_or_id}/repos/#{owner}/#{repo}", end |
#team_repositories(team_id, options = {}) ⇒ Array<Sawyer::Resource> Also known as: team_repos
List team repositories
Requires authenticated organization member.
524 525 526 |
# File 'lib/octokit/client/organizations.rb', line 524 def team_repositories(team_id, = {}) paginate "teams/#{team_id}/repos", end |
#team_repository?(team_id, repo, _options = {}) ⇒ Boolean Also known as: team_repo?
Check if a repo is managed by a specific team
541 542 543 |
# File 'lib/octokit/client/organizations.rb', line 541 def team_repository?(team_id, repo, = {}) boolean_from_response :get, "teams/#{team_id}/repos/#{Repository.new(repo)}" end |
#unlock_repository(org, id, repo, options = {}) ⇒ Object
Unlock a previous migration archive.
Requires authenticated organization owner.
825 826 827 |
# File 'lib/octokit/client/organizations.rb', line 825 def unlock_repository(org, id, repo, = {}) delete "#{Organization.path(org)}/migrations/#{id}/repos/#{repo}/lock", end |
#unpublicize_membership(org, user, options = {}) ⇒ Boolean Also known as: conceal_membership
Conceal a user's membership of an organization.
Requires authenticated organization owner.
640 641 642 |
# File 'lib/octokit/client/organizations.rb', line 640 def unpublicize_membership(org, user, = {}) boolean_from_response :delete, "#{Organization.path org}/public_members/#{user}", end |
#update_organization(org, values, options = {}) ⇒ Sawyer::Resource Also known as: update_org
Update an organization.
Requires authenticated client with proper organization permissions.
48 49 50 |
# File 'lib/octokit/client/organizations.rb', line 48 def update_organization(org, values, = {}) patch Organization.path(org), .merge(values) end |
#update_organization_membership(org, options = {}) ⇒ Sawyer::Resource Also known as: update_org_membership
Edit an organization membership
730 731 732 733 734 735 736 737 738 739 |
# File 'lib/octokit/client/organizations.rb', line 730 def update_organization_membership(org, = {}) = .dup if user = .delete(:user) .delete(:state) put "#{Organization.path(org)}/memberships/#{user}", else .delete(:role) patch "user/memberships/orgs/#{org}", end end |
#update_team(team_id, options = {}) ⇒ Sawyer::Resource
Update team
Requires authenticated organization owner.
407 408 409 |
# File 'lib/octokit/client/organizations.rb', line 407 def update_team(team_id, = {}) patch "teams/#{team_id}", end |
#user_teams(options = {}) ⇒ Array<Sawyer::Resource>
List all teams for the authenticated user across all their orgs
649 650 651 |
# File 'lib/octokit/client/organizations.rb', line 649 def user_teams( = {}) paginate 'user/teams', end |