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.
-
#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_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.
-
#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_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_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.
333 334 335 336 337 338 |
# File 'lib/octokit/client/organizations.rb', line 333 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
531 532 533 |
# File 'lib/octokit/client/organizations.rb', line 531 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
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.
422 423 424 |
# File 'lib/octokit/client/organizations.rb', line 422 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.
98 99 100 |
# File 'lib/octokit/client/organizations.rb', line 98 def all_organizations( = {}) paginate "organizations" end |
#create_team(org, options = {}) ⇒ Sawyer::Resource
Create team
Requires authenticated organization owner.
247 248 249 |
# File 'lib/octokit/client/organizations.rb', line 247 def create_team(org, = {}) post "#{Organization.path org}/teams", end |
#delete_migration_archive(org, id, options = {}) ⇒ Object
Deletes a previous migration archive.
Requires authenticated organization owner.
663 664 665 666 |
# File 'lib/octokit/client/organizations.rb', line 663 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.
295 296 297 |
# File 'lib/octokit/client/organizations.rb', line 295 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.
648 649 650 651 652 653 654 |
# File 'lib/octokit/client/organizations.rb', line 648 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.
636 637 638 639 |
# File 'lib/octokit/client/organizations.rb', line 636 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.
624 625 626 627 |
# File 'lib/octokit/client/organizations.rb', line 624 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_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.
180 181 182 183 184 185 186 187 |
# File 'lib/octokit/client/organizations.rb', line 180 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.
142 143 144 145 |
# File 'lib/octokit/client/organizations.rb', line 142 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
563 564 565 566 567 568 569 |
# File 'lib/octokit/client/organizations.rb', line 563 def organization_membership(org, = {}) if user = .delete(:user) get "orgs/#{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
551 552 553 |
# File 'lib/octokit/client/organizations.rb', line 551 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.
205 206 207 |
# File 'lib/octokit/client/organizations.rb', line 205 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
159 160 161 |
# File 'lib/octokit/client/organizations.rb', line 159 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.
123 124 125 |
# File 'lib/octokit/client/organizations.rb', line 123 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.
221 222 223 |
# File 'lib/octokit/client/organizations.rb', line 221 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.
79 80 81 |
# File 'lib/octokit/client/organizations.rb', line 79 def organizations(user=nil, = {}) paginate "#{User.path user}/orgs", end |
#publicize_membership(org, user, options = {}) ⇒ Boolean
Publicize a user’s membership of an organization
Requires authenticated organization owner.
476 477 478 |
# File 'lib/octokit/client/organizations.rb', line 476 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.
459 460 461 462 463 |
# File 'lib/octokit/client/organizations.rb', line 459 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
595 596 597 598 |
# File 'lib/octokit/client/organizations.rb', line 595 def remove_organization_membership(org, = {}) user = .delete(:user) user && boolean_from_response(:delete, "orgs/#{org}/memberships/#{user}", ) end |
#remove_team_member(team_id, user, options = {}) ⇒ Boolean
Remove team member
Requires authenticated organization owner or member with team ‘admin` permission.
351 352 353 |
# File 'lib/octokit/client/organizations.rb', line 351 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
543 544 545 |
# File 'lib/octokit/client/organizations.rb', line 543 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.
442 443 444 |
# File 'lib/octokit/client/organizations.rb', line 442 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.
611 612 613 614 615 |
# File 'lib/octokit/client/organizations.rb', line 611 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.
260 261 262 |
# File 'lib/octokit/client/organizations.rb', line 260 def team(team_id, = {}) get "teams/#{team_id}", 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.
370 371 372 |
# File 'lib/octokit/client/organizations.rb', line 370 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.
308 309 310 |
# File 'lib/octokit/client/organizations.rb', line 308 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.
516 517 518 |
# File 'lib/octokit/client/organizations.rb', line 516 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.
385 386 387 |
# File 'lib/octokit/client/organizations.rb', line 385 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
402 403 404 |
# File 'lib/octokit/client/organizations.rb', line 402 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.
676 677 678 679 |
# File 'lib/octokit/client/organizations.rb', line 676 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.
492 493 494 |
# File 'lib/octokit/client/organizations.rb', line 492 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.
46 47 48 |
# File 'lib/octokit/client/organizations.rb', line 46 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
581 582 583 584 585 586 587 |
# File 'lib/octokit/client/organizations.rb', line 581 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.
282 283 284 |
# File 'lib/octokit/client/organizations.rb', line 282 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
501 502 503 |
# File 'lib/octokit/client/organizations.rb', line 501 def user_teams( = {}) paginate "user/teams", end |