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.
-
#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_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_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
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_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_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.
395 396 397 398 399 400 |
# File 'lib/octokit/client/organizations.rb', line 395 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
617 618 619 |
# File 'lib/octokit/client/organizations.rb', line 617 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.
508 509 510 |
# File 'lib/octokit/client/organizations.rb', line 508 def add_team_repository(team_id, repo, = {}) boolean_from_response :put, "teams/#{team_id}/repos/#{Repository.new(repo)}", .merge(:name => 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.
100 101 102 |
# File 'lib/octokit/client/organizations.rb', line 100 def all_organizations( = {}) paginate "organizations", end |
#convert_to_outside_collaborator(org, user, options = {}) ⇒ Boolean
Converts an organization member to an outside collaborator
Requires authenticated organization members.
270 271 272 273 |
# File 'lib/octokit/client/organizations.rb', line 270 def convert_to_outside_collaborator(org, user, ={}) = ensure_api_media_type(:org_memberships, ) boolean_from_response :put, "#{Organization.path org}/outside_collaborators/#{user}", end |
#create_team(org, options = {}) ⇒ Sawyer::Resource
Create team
Requires authenticated organization owner.
306 307 308 309 310 311 |
# File 'lib/octokit/client/organizations.rb', line 306 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.
749 750 751 752 |
# File 'lib/octokit/client/organizations.rb', line 749 def delete_migration_archive(org, id, = {}) = ensure_api_media_type(:migrations, ) delete "orgs/#{org}/migrations/#{id}/archive", end |
#delete_team(team_id, options = {}) ⇒ Boolean
Delete team
Requires authenticated organization owner.
357 358 359 |
# File 'lib/octokit/client/organizations.rb', line 357 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.
734 735 736 737 738 739 740 |
# File 'lib/octokit/client/organizations.rb', line 734 def migration_archive_url(org, id, = {}) = ensure_api_media_type(:migrations, ) url = "orgs/#{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.
722 723 724 725 |
# File 'lib/octokit/client/organizations.rb', line 722 def migration_status(org, id, = {}) = ensure_api_media_type(:migrations, ) get "orgs/#{org}/migrations/#{id}", end |
#migrations(org, options = {}) ⇒ Array<Sawyer::Resource>
Lists the most recent migrations.
Requires authenticated organization owner.
710 711 712 713 |
# File 'lib/octokit/client/organizations.rb', line 710 def migrations(org, = {}) = ensure_api_media_type(:migrations, ) paginate "orgs/#{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_invitations(org, options = {}) ⇒ Array<Sawyer::Resource> Also known as: org_invitations
List pending organization invitations
Requires authenticated organization member.
222 223 224 225 |
# File 'lib/octokit/client/organizations.rb', line 222 def organization_invitations(org, = {}) = ensure_api_media_type(:org_memberships, ) 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.
182 183 184 185 186 187 188 189 |
# File 'lib/octokit/client/organizations.rb', line 182 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.
144 145 146 147 |
# File 'lib/octokit/client/organizations.rb', line 144 def organization_members(org, = {}) 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
649 650 651 652 653 654 655 |
# File 'lib/octokit/client/organizations.rb', line 649 def organization_membership(org, = {}) 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
637 638 639 |
# File 'lib/octokit/client/organizations.rb', line 637 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.
207 208 209 |
# File 'lib/octokit/client/organizations.rb', line 207 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
161 162 163 |
# File 'lib/octokit/client/organizations.rb', line 161 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.
125 126 127 |
# File 'lib/octokit/client/organizations.rb', line 125 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.
286 287 288 |
# File 'lib/octokit/client/organizations.rb', line 286 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 authenicated 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.
81 82 83 |
# File 'lib/octokit/client/organizations.rb', line 81 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.
238 239 240 241 |
# File 'lib/octokit/client/organizations.rb', line 238 def outside_collaborators(org, ={}) = ensure_api_media_type(:org_memberships, ) get "#{Organization.path org}/outside_collaborators", end |
#publicize_membership(org, user, options = {}) ⇒ Boolean
Publicize a user’s membership of an organization
Requires authenticated organization owner.
562 563 564 |
# File 'lib/octokit/client/organizations.rb', line 562 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.
545 546 547 548 549 |
# File 'lib/octokit/client/organizations.rb', line 545 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
Remove an organization membership
681 682 683 684 |
# File 'lib/octokit/client/organizations.rb', line 681 def remove_organization_membership(org, = {}) user = .delete(:user) user && boolean_from_response(:delete, "orgs/#{org}/memberships/#{user}", ) end |
#remove_outside_collaborator(org, user, options = {}) ⇒ Boolean
Remove outside collaborator from an organization
Requires authenticated organization members.
254 255 256 257 |
# File 'lib/octokit/client/organizations.rb', line 254 def remove_outside_collaborator(org, user, ={}) = ensure_api_media_type(:org_memberships, ) 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.
413 414 415 |
# File 'lib/octokit/client/organizations.rb', line 413 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
629 630 631 |
# File 'lib/octokit/client/organizations.rb', line 629 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.
528 529 530 |
# File 'lib/octokit/client/organizations.rb', line 528 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.
697 698 699 700 701 |
# File 'lib/octokit/client/organizations.rb', line 697 def start_migration(org, repositories, = {}) = ensure_api_media_type(:migrations, ) [:repositories] = repositories post "orgs/#{org}/migrations", end |
#team(team_id, options = {}) ⇒ Sawyer::Resource
Get team
Requires authenticated organization member.
322 323 324 |
# File 'lib/octokit/client/organizations.rb', line 322 def team(team_id, = {}) get "teams/#{team_id}", end |
#team_invitations(team_id, options = {}) ⇒ Array<Sawyer::Resource>
List pending team invitations
Requires authenticated organization member.
446 447 448 449 |
# File 'lib/octokit/client/organizations.rb', line 446 def team_invitations(team_id, = {}) = ensure_api_media_type(:org_memberships, ) 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.
432 433 434 |
# File 'lib/octokit/client/organizations.rb', line 432 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.
370 371 372 |
# File 'lib/octokit/client/organizations.rb', line 370 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.
602 603 604 |
# File 'lib/octokit/client/organizations.rb', line 602 def team_membership(team_id, user, = {}) get "teams/#{team_id}/memberships/#{user}", end |
#team_repositories(team_id, options = {}) ⇒ Array<Sawyer::Resource> Also known as: team_repos
List team repositories
Requires authenticated organization member.
462 463 464 |
# File 'lib/octokit/client/organizations.rb', line 462 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
479 480 481 |
# File 'lib/octokit/client/organizations.rb', line 479 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.
762 763 764 765 |
# File 'lib/octokit/client/organizations.rb', line 762 def unlock_repository(org, id, repo, = {}) = ensure_api_media_type(:migrations, ) delete "orgs/#{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.
578 579 580 |
# File 'lib/octokit/client/organizations.rb', line 578 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
667 668 669 670 671 672 673 |
# File 'lib/octokit/client/organizations.rb', line 667 def update_organization_membership(org, = {}) if user = .delete(:user) put "orgs/#{org}/memberships/#{user}", else patch "user/memberships/orgs/#{org}", end end |
#update_team(team_id, options = {}) ⇒ Sawyer::Resource
Update team
Requires authenticated organization owner.
344 345 346 |
# File 'lib/octokit/client/organizations.rb', line 344 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
587 588 589 |
# File 'lib/octokit/client/organizations.rb', line 587 def user_teams( = {}) paginate "user/teams", end |