module Octokit::Client::Organizations

Methods for the Organizations API

@see developer.github.com/v3/orgs/

Public Instance Methods

add_team_member(team_id, user, options = {}) click to toggle source

Add team member

Requires authenticated organization owner or member with team ‘admin` permission.

@param team_id [Integer] Team id. @param user [String] GitHub username of new team member. @return [Boolean] True on successful addition, false otherwise. @see developer.github.com/v3/orgs/teams/#add-team-member @example

@client.add_team_member(100000, 'pengwynn')

@example

# Opt-in to future behavior for this endpoint. Adds the member to the
# team if they're already an org member. If not, the method will return
# 422 and indicate the user should call the new Team Membership endpoint.
@client.add_team_member \
  100000,
  'pengwynn',
  :accept => "application/vnd.github.the-wasp-preview+json"

@see developer.github.com/changes/2014-08-05-team-memberships-api/

# File lib/octokit/client/organizations.rb, line 458
def add_team_member(team_id, user, options = {})
  # 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}", options.merge({ name: user })
end
add_team_membership(team_id, user, options = {}) click to toggle source

Add or invite a user to a team

@param team_id [Integer] Team id. @param user [String] GitHub username of the user to invite.

@return [Sawyer::Resource] Hash of team membership info

@see developer.github.com/v3/orgs/teams/#add-or-update-team-membership

@example Check if a user has a membership for a team

@client.add_team_membership(1234, 'pengwynn')
# File lib/octokit/client/organizations.rb, line 679
def add_team_membership(team_id, user, options = {})
  put "teams/#{team_id}/memberships/#{user}", options
end
add_team_repo(team_id, repo, options = {})
Alias for: add_team_repository
add_team_repository(team_id, repo, options = {}) click to toggle source

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.

@param team_id [Integer] Team id. @param repo [String, Hash, Repository] A GitHub repository. @option options [String] :permission The permission to grant the team.

Only valid on organization-owned repositories.
Can be one of: <tt>pull</tt>, <tt>push</tt>, or <tt>admin</tt>.
If not specified, the team's <tt>permission</tt> attribute will be
used to determine what permission to grant the team on this repository.

@return [Boolean] True if successful, false otherwise. @see Octokit::Repository @see developer.github.com/v3/orgs/teams/#add-or-update-team-repository @example

@client.add_team_repository(100000, 'github/developer.github.com')

@example

@client.add_team_repo(100000, 'github/developer.github.com')

@example Add a team with admin permissions

@client.add_team_repository(100000, 'github/developer.github.com', permission: 'admin')
# File lib/octokit/client/organizations.rb, line 570
def add_team_repository(team_id, repo, options = {})
  boolean_from_response :put, "teams/#{team_id}/repos/#{Repository.new(repo)}", options
end
Also aliased as: add_team_repo
all_organizations(options = {}) click to toggle source

List all GitHub organizations

This provides a list of every organization, in the order that they were created.

@param options [Hash] Optional options. @option options [Integer] :since The integer ID of the last Organization that you’ve seen.

@see developer.github.com/v3/orgs/#list-all-organizations

@return [Array<Sawyer::Resource>] List of GitHub organizations.

# File lib/octokit/client/organizations.rb, line 116
def all_organizations(options = {})
  paginate 'organizations', options
end
Also aliased as: all_orgs
all_orgs(options = {})
Alias for: all_organizations
billing_actions(org) click to toggle source

Get GitHub Actions billing for an organization

Requires authenticated organization owner.

@param org [String, Integer] Organization GitHub login or id. @return [Sawyer::Resource] Hash representing GitHub Actions billing for an organization. @see docs.github.com/en/rest/reference/billing#get-github-actions-billing-for-an-organization

@example

@client.billing_actions('github')
# 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 = {}) click to toggle source

List child teams

Requires authenticated organization member.

@param team_id [Integer] Team id. @return [Sawyer::Resource] Hash representing team. @see developer.github.com/v3/orgs/teams/#list-child-teams @example

@client.child_teams(100000, :accept => "application/vnd.github.hellcat-preview+json")
# File lib/octokit/client/organizations.rb, line 384
def child_teams(team_id, options = {})
  paginate "teams/#{team_id}/teams", options
end
conceal_membership(org, user, options = {})
convert_to_outside_collaborator(org, user, options = {}) click to toggle source

Converts an organization member to an outside collaborator

Requires authenticated organization members.

@param org [String, Integer] Organization GitHub login or id. @param user [String] GitHub username to be removed as outside collaborator @return [Boolean] Return true if outside collaborator removed from organization, false otherwise. @see developer.github.com/v3/orgs/outside-collaborators/#convert-member-to-outside-collaborator

@example

@client.convert_to_outside_collaborator('github', 'lizzhale')
# File lib/octokit/client/organizations.rb, line 284
def convert_to_outside_collaborator(org, user, options = {})
  boolean_from_response :put, "#{Organization.path org}/outside_collaborators/#{user}", options
end
create_team(org, options = {}) click to toggle source

Create team

Requires authenticated organization owner.

@param org [String, Integer] Organization GitHub login or id. @option options [String] :name Team name. @option options [Array<String>] :repo_names Repositories for the team. @option options [Array<String>] :maintainers Maintainers for the team. @option options [Integer] :parent_team_id ID of a team to set as the parent team. @return [Sawyer::Resource] Hash representing new team. @see developer.github.com/v3/orgs/teams/#create-team @example

@client.create_team('github', {
  :name => 'Designers',
  :repo_names => ['github/dotfiles']
})
# File lib/octokit/client/organizations.rb, line 320
def create_team(org, options = {})
  if options.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", options
end
delete_migration_archive(org, id, options = {}) click to toggle source

Deletes a previous migration archive.

Requires authenticated organization owner.

@param org [String, Integer] Organization GitHub login or id. @param id [Integer] ID number of the migration. @see docs.github.com/en/rest/reference/migrations#delete-an-organization-migration-archive

# File lib/octokit/client/organizations.rb, line 813
def delete_migration_archive(org, id, options = {})
  delete "#{Organization.path(org)}/migrations/#{id}/archive", options
end
delete_org(org)
Alias for: delete_organization
delete_organization(org) click to toggle source

Delete an organization.

Requires authenticated organization owner.

@param org [String, Integer] Organization login or ID. @return [Boolean] True if deletion successful, otherwise false. @see docs.github.com/rest/orgs/orgs#delete-an-organization @example

@client.delete_organization("my-org")

@example

@client.delete_org("my-org")
# File lib/octokit/client/organizations.rb, line 64
def delete_organization(org)
  boolean_from_response :delete, Organization.path(org)
end
Also aliased as: delete_org
delete_team(team_id, options = {}) click to toggle source

Delete team

Requires authenticated organization owner.

@param team_id [Integer] Team id. @return [Boolean] True if deletion successful, false otherwise. @see developer.github.com/v3/orgs/teams/#delete-team @example

@client.delete_team(100000)
# File lib/octokit/client/organizations.rb, line 420
def delete_team(team_id, options = {})
  boolean_from_response :delete, "teams/#{team_id}", options
end
list_organizations(user = nil, options = {})
Alias for: organizations
list_orgs(user = nil, options = {})
Alias for: organizations
migration_archive_url(org, id, options = {}) click to toggle source

Fetches the URL to a migration archive.

Requires authenticated organization owner.

@param org [String, Integer] Organization GitHub login or id. @param id [Integer] ID number of the migration. @see docs.github.com/en/rest/reference/migrations#download-an-organization-migration-archive

# File lib/octokit/client/organizations.rb, line 799
def migration_archive_url(org, id, options = {})
  url = "#{Organization.path(org)}/migrations/#{id}/archive"

  response = client_without_redirects(options).get(url)
  response.headers['location']
end
migration_status(org, id, options = {}) click to toggle source

Fetches the status of a migration.

Requires authenticated organization owner.

@param org [String, Integer] Organization GitHub login or id. @param id [Integer] ID number of the migration. @see docs.github.com/en/rest/reference/migrations#get-an-organization-migration-status

# File lib/octokit/client/organizations.rb, line 788
def migration_status(org, id, options = {})
  get "#{Organization.path(org)}/migrations/#{id}", options
end
migrations(org, options = {}) click to toggle source

Lists the most recent migrations.

Requires authenticated organization owner.

@param org [String, Integer] Organization GitHub login or id. @return [Array<Sawyer::Resource>] Array of migration resources. @see docs.github.com/en/rest/reference/migrations#list-organization-migrations

# File lib/octokit/client/organizations.rb, line 777
def migrations(org, options = {})
  paginate "#{Organization.path(org)}/migrations", options
end
org(org, options = {})
Alias for: organization
org_invitations(org, options = {})
org_member?(org, user, options = {})
org_members(org, options = {})
org_membership(org, options = {})
org_memberships(options = {})
org_public_member?(org, user, options = {})
org_public_members(org, options = {})
org_repos(org, options = {})
org_repositories(org, options = {})
org_teams(org, options = {})
Alias for: organization_teams
organization(org, options = {}) click to toggle source

Get an organization

@param org [String, Integer] Organization GitHub login or id. @return [Sawyer::Resource] Hash representing GitHub organization. @see developer.github.com/v3/orgs/#get-an-organization @example

Octokit.organization('github')

@example

Octokit.org('github')
# File lib/octokit/client/organizations.rb, line 18
def organization(org, options = {})
  get Organization.path(org), options
end
Also aliased as: org
organization_audit_log(org, options = {}) click to toggle source

Get organization audit log.

Gets the audit log for an organization.

@param org [String, Integer] Organization GitHub login or id for which

to retrieve the audit log.

@option options [String] :include (‘all’) Filter by event type.

`all`, `git` or `web`.

@option options [String] :phrase A search phrase. @option options [String] :order (‘desc’) The order of audit log events. To list newest events first, specify desc. To list oldest events first, specify asc.

@return [Array<Sawyer::Resource>] List of events @see docs.github.com/en/enterprise-cloud@latest/rest/orgs/orgs#get-the-audit-log-for-an-organization @example

Octokit.organization_audit_log('github', {include: 'all', phrase: 'action:org.add_member created:>2022-08-29 user:octocat'})
# File lib/octokit/client/organizations.rb, line 859
def organization_audit_log(org, options = {})
  paginate "#{Organization.path org}/audit-log", options
end
organization_invitations(org, options = {}) click to toggle source

List pending organization invitations

Requires authenticated organization member.

@param org [String, Integer] Organization GitHub login or id. @return [Array<Sawyer::Resource>] Array of hashes representing invitations. @see developer.github.com/v3/orgs/members/#list-pending-organization-invitations

@example

@client.organization_invitations('github')
# File lib/octokit/client/organizations.rb, line 239
def organization_invitations(org, options = {})
  get "#{Organization.path org}/invitations", options
end
Also aliased as: org_invitations
organization_member?(org, user, options = {}) click to toggle source

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.

@param org [String, Integer] Organization GitHub login or id. @param user [String] GitHub username of the user to check.

@return [Boolean] Is a member?

@see developer.github.com/v3/orgs/members/#check-membership

@example Check if a user is in your organization

@client.organization_member?('your_organization', 'pengwynn')
=> false
# File lib/octokit/client/organizations.rb, line 199
def organization_member?(org, user, options = {})
  result = boolean_from_response(:get, "#{Organization.path org}/members/#{user}", options)
  if !result && last_response && last_response.status == 302
    boolean_from_response :get, last_response.headers['Location']
  else
    result
  end
end
Also aliased as: org_member?
organization_members(org, options = {}) click to toggle source

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.

@param org [String, Integer] Organization GitHub login or id. @return [Array<Sawyer::Resource>] Array of hashes representing users. @see developer.github.com/v3/orgs/members/#members-list @example

Octokit.organization_members('github')

@example

Octokit.org_members('github')
# File lib/octokit/client/organizations.rb, line 160
def organization_members(org, options = {})
  options = options.dup
  path = 'public_' if options.delete(:public)
  paginate "#{Organization.path org}/#{path}members", options
end
Also aliased as: org_members
organization_membership(org, options = {}) click to toggle source

Get an organization membership

@param org [Integer, String] The GitHub Organization. @option options [String] :user The login of the user, otherwise authenticated user. @return [Sawyer::Resource] Hash representing the organization membership. @see developer.github.com/v3/orgs/members/#get-your-organization-membership @see developer.github.com/v3/orgs/members/#get-organization-membership

# File lib/octokit/client/organizations.rb, line 711
def organization_membership(org, options = {})
  options = options.dup
  if user = options.delete(:user)
    get "#{Organization.path(org)}/memberships/#{user}", options
  else
    get "user/memberships/orgs/#{org}", options
  end
end
Also aliased as: org_membership
organization_memberships(options = {}) click to toggle source

List all organizations memberships for the authenticated user

@return [Array<Sawyer::Resource>] Array of organizations memberships. @see developer.github.com/v3/orgs/members/#list-your-organization-memberships

# File lib/octokit/client/organizations.rb, line 699
def organization_memberships(options = {})
  paginate 'user/memberships/orgs', options
end
Also aliased as: org_memberships
organization_public_member?(org, user, options = {}) click to toggle source

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.

@param org [String, Integer] Organization GitHub login or id. @param user [String] GitHub username of the user to check.

@return [Boolean] Is a public member?

@see developer.github.com/v3/orgs/members/#check-public-membership

@example Check if a user is a hubbernaut

@client.organization_public_member?('github', 'pengwynn')
=> true
# File lib/octokit/client/organizations.rb, line 224
def organization_public_member?(org, user, options = {})
  boolean_from_response :get, "#{Organization.path org}/public_members/#{user}", options
end
Also aliased as: org_public_member?
organization_public_members(org, options = {}) click to toggle source

Get organization public members

Lists the public members of an organization

@param org [String] Organization GitHub username. @return [Array<Sawyer::Resource>] Array of hashes representing users. @see developer.github.com/v3/orgs/members/#public-members-list @example

Octokit.organization_public_members('github')

@example

Octokit.org_public_members('github')
# File lib/octokit/client/organizations.rb, line 178
def organization_public_members(org, options = {})
  organization_members org, options.merge(public: true)
end
Also aliased as: org_public_members
organization_repositories(org, options = {}) click to toggle source

List organization repositories

Public repositories are available without authentication. Private repos require authenticated organization member.

@param org [String, Integer] Organization GitHub login or id for which

to list repos.

@option options [String] :type (‘all’) Filter by repository type.

`all`, `public`, `member`, `sources`, `forks`, or `private`.

@return [Array<Sawyer::Resource>] List of repositories @see developer.github.com/v3/repos/#list-organization-repositories @example

Octokit.organization_repositories('github')

@example

Octokit.org_repositories('github')

@example

Octokit.org_repos('github')

@example

@client.org_repos('github', {:type => 'private'})
# File lib/octokit/client/organizations.rb, line 141
def organization_repositories(org, options = {})
  paginate "#{Organization.path org}/repos", options
end
Also aliased as: org_repositories, org_repos
organization_teams(org, options = {}) click to toggle source

List teams

Requires authenticated organization member.

@param org [String, Integer] Organization GitHub login or id. @return [Array<Sawyer::Resource>] Array of hashes representing teams. @see developer.github.com/v3/orgs/teams/#list-teams @example

@client.organization_teams('github')

@example

@client.org_teams('github')
# File lib/octokit/client/organizations.rb, line 299
def organization_teams(org, options = {})
  paginate "#{Organization.path org}/teams", options
end
Also aliased as: org_teams
organizations(user = nil, options = {}) click to toggle source

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.

@param user [Integer, String] GitHub user login or id of the user to get

list of organizations.

@return [Array<Sawyer::Resource>] Array of hashes representing organizations. @see developer.github.com/v3/orgs/#list-your-organizations @see developer.github.com/v3/orgs/#list-user-organizations @example

Octokit.organizations('pengwynn')

@example

@client.organizations('pengwynn')

@example

Octokit.orgs('pengwynn')

@example

Octokit.list_organizations('pengwynn')

@example

Octokit.list_orgs('pengwynn')

@example

@client.organizations
# File lib/octokit/client/organizations.rb, line 97
def organizations(user = nil, options = {})
  paginate "#{User.path user}/orgs", options
end
Also aliased as: list_organizations, list_orgs, orgs
orgs(user = nil, options = {})
Alias for: organizations
outside_collaborators(org, options = {}) click to toggle source

List outside collaborators for an organization

Requires authenticated organization members.

@param org [String, Integer] Organization GitHub login or id. @return [Array<Sawyer::Resource>] Array of hashes representing users. @see developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators

@example

@client.outside_collaborators('github')
# File lib/octokit/client/organizations.rb, line 254
def outside_collaborators(org, options = {})
  paginate "#{Organization.path org}/outside_collaborators", options
end
publicize_membership(org, user, options = {}) click to toggle source

Publicize a user’s membership of an organization

Requires authenticated organization owner.

@param org [String, Integer] Organization GitHub login or id. @param user [String] GitHub username of user to publicize. @return [Boolean] True if publicization successful, false otherwise. @see developer.github.com/v3/orgs/members/#publicize-a-users-membership @example

@client.publicize_membership('github', 'pengwynn')
# File lib/octokit/client/organizations.rb, line 624
def publicize_membership(org, user, options = {})
  boolean_from_response :put, "#{Organization.path org}/public_members/#{user}", options
end
remove_org_member(org, user, options = {})
remove_org_membership(org, options = {})
remove_organization_member(org, user, options = {}) click to toggle source

Remove organization member

Requires authenticated organization owner or member with team ‘admin` access.

@param org [String, Integer] Organization GitHub login or id. @param user [String] GitHub username of user to remove. @return [Boolean] True if removal is successful, false otherwise. @see developer.github.com/v3/orgs/members/#remove-a-member @example

@client.remove_organization_member('github', 'pengwynn')

@example

@client.remove_org_member('github', 'pengwynn')
# File lib/octokit/client/organizations.rb, line 607
def remove_organization_member(org, user, options = {})
  # 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}", options
end
Also aliased as: remove_org_member
remove_organization_membership(org, options = {}) click to toggle source

Remove an organization membership

@param org [String, Integer] Organization GitHub login or id. @return [Boolean] Success @see developer.github.com/v3/orgs/members/#remove-organization-membership

# File lib/octokit/client/organizations.rb, line 747
def remove_organization_membership(org, options = {})
  options = options.dup
  user = options.delete(:user)
  user && boolean_from_response(:delete, "#{Organization.path(org)}/memberships/#{user}", options)
end
Also aliased as: remove_org_membership
remove_outside_collaborator(org, user, options = {}) click to toggle source

Remove outside collaborator from an organization

Requires authenticated organization members.

@param org [String, Integer] Organization GitHub login or id. @param user [String] GitHub username to be removed as outside collaborator @return [Boolean] Return true if outside collaborator removed from organization, false otherwise. @see developer.github.com/v3/orgs/outside-collaborators/#remove-outside-collaborator

@example

@client.remove_outside_collaborator('github', 'lizzhale')
# File lib/octokit/client/organizations.rb, line 269
def remove_outside_collaborator(org, user, options = {})
  boolean_from_response :delete, "#{Organization.path org}/outside_collaborators/#{user}", options
end
remove_team_member(team_id, user, options = {}) click to toggle source

Remove team member

Requires authenticated organization owner or member with team ‘admin` permission.

@param team_id [Integer] Team id. @param user [String] GitHub username of the user to boot. @return [Boolean] True if user removed, false otherwise. @see developer.github.com/v3/orgs/teams/#remove-team-member @example

@client.remove_team_member(100000, 'pengwynn')
# File lib/octokit/client/organizations.rb, line 476
def remove_team_member(team_id, user, options = {})
  boolean_from_response :delete, "teams/#{team_id}/members/#{user}", options
end
remove_team_membership(team_id, user, options = {}) click to toggle source

Remove team membership

@param team_id [Integer] Team id. @param user [String] GitHub username of the user to boot. @return [Boolean] True if user removed, false otherwise. @see developer.github.com/v3/orgs/teams/#remove-team-membership @example

@client.remove_team_membership(100000, 'pengwynn')
# File lib/octokit/client/organizations.rb, line 691
def remove_team_membership(team_id, user, options = {})
  boolean_from_response :delete, "teams/#{team_id}/memberships/#{user}", options
end
remove_team_repo(team_id, repo, _options = {})
remove_team_repository(team_id, repo, _options = {}) click to toggle source

Remove team repository

Removes repository from team. Does not delete the repository.

Requires authenticated organization owner.

@param team_id [Integer] Team id. @param repo [String, Hash, Repository] A GitHub repository. @return [Boolean] Return true if repo removed from team, false otherwise. @see Octokit::Repository @see developer.github.com/v3/orgs/teams/#remove-team-repository @example

@client.remove_team_repository(100000, 'github/developer.github.com')

@example

@client.remove_team_repo(100000, 'github/developer.github.com')
# File lib/octokit/client/organizations.rb, line 590
def remove_team_repository(team_id, repo, _options = {})
  boolean_from_response :delete, "teams/#{team_id}/repos/#{Repository.new(repo)}"
end
Also aliased as: remove_team_repo
start_migration(org, repositories, options = {}) click to toggle source

Initiates the generation of a migration archive.

Requires authenticated organization owner.

@param org [String, Integer] Organization GitHub login or id. @param repositories [Array<String>] :repositories Repositories for the organization. @option options [Boolean, optional] :lock_repositories Indicates whether repositories should be locked during migration @return [Sawyer::Resource] Hash representing the new migration. @example

@client.start_migration('github', ['github/dotfiles'])

@see docs.github.com/en/rest/reference/migrations#start-an-organization-migration

# File lib/octokit/client/organizations.rb, line 765
def start_migration(org, repositories, options = {})
  options[:repositories] = repositories
  post "#{Organization.path(org)}/migrations", options
end
team(team_id, options = {}) click to toggle source

Get team

Requires authenticated organization member.

@param team_id [Integer] Team id. @return [Sawyer::Resource] Hash representing team. @see developer.github.com/v3/orgs/teams/#get-team @example

@client.team(100000)
# File lib/octokit/client/organizations.rb, line 336
def team(team_id, options = {})
  get "teams/#{team_id}", options
end
team_by_name(org, team_slug, options = {}) click to toggle source

Get team by name and org

Requires authenticated organization member.

@param org [String, Integer] Organization GitHub login or id. @param team_slug [String] Team slug. @return [Sawyer::Resource] Hash representing team. @see developer.github.com/v3/teams/#get-team-by-name @example

@client.team_by_name("github", "justice-league")
# File lib/octokit/client/organizations.rb, line 350
def team_by_name(org, team_slug, options = {})
  get "#{Organization.path(org)}/teams/#{team_slug}", options
end
team_invitations(team_id, options = {}) click to toggle source

List pending team invitations

Requires authenticated organization member.

@param team_id [Integer] Team id. @return [Array<Sawyer::Resource>] Array of hashes representing invitations. @see developer.github.com/v3/orgs/teams/#list-pending-team-invitations

@example

@client.team_invitations('github')
# File lib/octokit/client/organizations.rb, line 509
def team_invitations(team_id, options = {})
  get "teams/#{team_id}/invitations", options
end
team_member?(team_id, user, options = {}) click to toggle source

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.

@param team_id [Integer] Team id. @param user [String] GitHub username of the user to check.

@return [Boolean] Is a member?

@see developer.github.com/v3/orgs/teams/#get-team-member

@example Check if a user is in your team

@client.team_member?(100000, 'pengwynn')
=> false
# File lib/octokit/client/organizations.rb, line 495
def team_member?(team_id, user, options = {})
  boolean_from_response :get, "teams/#{team_id}/members/#{user}", options
end
team_members(team_id, options = {}) click to toggle source

List team members

Requires authenticated organization member.

@param team_id [Integer] Team id. @return [Array<Sawyer::Resource>] Array of hashes representing users. @see developer.github.com/v3/orgs/teams/#list-team-members @example

@client.team_members(100000)
# File lib/octokit/client/organizations.rb, line 433
def team_members(team_id, options = {})
  paginate "teams/#{team_id}/members", options
end
team_membership(team_id, user, options = {}) click to toggle source

Check if a user has a team membership.

@param team_id [Integer] Team id. @param user [String] GitHub username of the user to check.

@return [Sawyer::Resource] Hash of team membership info

@see developer.github.com/v3/orgs/teams/#get-team-membership

@example Check if a user has a membership for a team

@client.team_membership(1234, 'pengwynn')
# File lib/octokit/client/organizations.rb, line 664
def team_membership(team_id, user, options = {})
  get "teams/#{team_id}/memberships/#{user}", options
end
team_permissions_for_repo(org, team_slug_or_id, owner, repo, options = {}) click to toggle source

Check team permissions for a repository

Requires authenticated organization member.

@param org [String, Integer] Organization GitHub login or id. @param team_slug_or_id [String, Integer] Team slug or Team ID. @param owner [String] Owner name for the repository. @param repo [String] Name of the repo to check permissions against. @return [String, Sawyer::Resource] Depending on options it may be an empty string or a resource. @example

# Check whether the team has any permissions with the repository
@client.team_permissions_for_repo("github", "justice-league", "octocat", "hello-world")

@example

# Get the full repository object including the permissions level and role for the team
@client.team_permissions_for_repo("github", "justice-league", "octocat", "hello-world", :accept => 'application/vnd.github.v3.repository+json')

@see docs.github.com/en/rest/teams/teams#check-team-permissions-for-a-repository

# File lib/octokit/client/organizations.rb, line 371
def team_permissions_for_repo(org, team_slug_or_id, owner, repo, options = {})
  get "#{Organization.path(org)}/teams/#{team_slug_or_id}/repos/#{owner}/#{repo}", options
end
team_repo?(team_id, repo, _options = {})
Alias for: team_repository?
team_repos(team_id, options = {})
Alias for: team_repositories
team_repositories(team_id, options = {}) click to toggle source

List team repositories

Requires authenticated organization member.

@param team_id [Integer] Team id. @return [Array<Sawyer::Resource>] Array of hashes representing repositories. @see developer.github.com/v3/orgs/teams/#list-team-repos @example

@client.team_repositories(100000)

@example

@client.team_repos(100000)
# File lib/octokit/client/organizations.rb, line 524
def team_repositories(team_id, options = {})
  paginate "teams/#{team_id}/repos", options
end
Also aliased as: team_repos
team_repository?(team_id, repo, _options = {}) click to toggle source

Check if a repo is managed by a specific team

@param team_id [Integer] Team ID. @param repo [String, Hash, Repository] A GitHub repository. @return [Boolean] True if managed by a team. False if not managed by

the team OR the requesting user does not have authorization to access
the team information.

@see developer.github.com/v3/orgs/teams/#check-if-a-team-manages-a-repository @example

@client.team_repository?(8675309, 'octokit/octokit.rb')

@example

@client.team_repo?(8675309, 'octokit/octokit.rb')
# File lib/octokit/client/organizations.rb, line 541
def team_repository?(team_id, repo, _options = {})
  boolean_from_response :get, "teams/#{team_id}/repos/#{Repository.new(repo)}"
end
Also aliased as: team_repo?
unlock_repository(org, id, repo, options = {}) click to toggle source

Unlock a previous migration archive.

Requires authenticated organization owner.

@param org [String, Integer] Organization GitHub login or id. @param id [Integer] ID number of the migration. @param repo [String] Name of the repository. @see docs.github.com/en/rest/reference/migrations#unlock-an-organization-repository

# File lib/octokit/client/organizations.rb, line 825
def unlock_repository(org, id, repo, options = {})
  delete "#{Organization.path(org)}/migrations/#{id}/repos/#{repo}/lock", options
end
unpublicize_membership(org, user, options = {}) click to toggle source

Conceal a user’s membership of an organization.

Requires authenticated organization owner.

@param org [String, Integer] Organization GitHub login or id. @param user [String] GitHub username of user to unpublicize. @return [Boolean] True of unpublicization successful, false otherwise. @see developer.github.com/v3/orgs/members/#conceal-a-users-membership @example

@client.unpublicize_membership('github', 'pengwynn')

@example

@client.conceal_membership('github', 'pengwynn')
# File lib/octokit/client/organizations.rb, line 640
def unpublicize_membership(org, user, options = {})
  boolean_from_response :delete, "#{Organization.path org}/public_members/#{user}", options
end
Also aliased as: conceal_membership
update_org(org, values, options = {})
Alias for: update_organization
update_org_membership(org, options = {})
update_organization(org, values, options = {}) click to toggle source

Update an organization.

Requires authenticated client with proper organization permissions.

@param org [String, Integer] Organization GitHub login or id. @param values [Hash] The updated organization attributes. @option values [String] :billing_email Billing email address. This address is not publicized. @option values [String] :company Company name. @option values [String] :email Publicly visible email address. @option values [String] :location Location of organization. @option values [String] :name GitHub username for organization. @option values [String] :default_repository_permission The default permission members have on organization repositories. @option values [Boolean] :members_can_create_repositories Set true to allow members to create repositories on the organization. @return [Sawyer::Resource] Hash representing GitHub organization. @see developer.github.com/v3/orgs/#edit-an-organization @example

@client.update_organization('github', {
  :billing_email => 'support@github.com',
  :company => 'GitHub',
  :email => 'support@github.com',
  :location => 'San Francisco',
  :name => 'github'
})

@example

@client.update_org('github', {:company => 'Unicorns, Inc.'})
# File lib/octokit/client/organizations.rb, line 48
def update_organization(org, values, options = {})
  patch Organization.path(org), options.merge(values)
end
Also aliased as: update_org
update_organization_membership(org, options = {}) click to toggle source

Edit an organization membership

@param org [String, Integer] Organization GitHub login or id. @option options [String] :role The role of the user in the organization. @option options [String] :state The state that the membership should be in. @option options [String] :user The login of the user, otherwise authenticated user. @return [Sawyer::Resource] Hash representing the updated organization membership. @see developer.github.com/v3/orgs/members/#edit-your-organization-membership @see developer.github.com/v3/orgs/members/#add-or-update-organization-membership

# File lib/octokit/client/organizations.rb, line 730
def update_organization_membership(org, options = {})
  options = options.dup
  if user = options.delete(:user)
    options.delete(:state)
    put "#{Organization.path(org)}/memberships/#{user}", options
  else
    options.delete(:role)
    patch "user/memberships/orgs/#{org}", options
  end
end
Also aliased as: update_org_membership
update_team(team_id, options = {}) click to toggle source

Update team

Requires authenticated organization owner.

@param team_id [Integer] Team id. @option options [String] :name Team name. @option options [String] :permission Permissions the team has for team repositories.

`pull` - team members can pull, but not push to or administer these repositories.
`push` - team members can pull and push, but not administer these repositories.
`admin` - team members can pull, push and administer these repositories.

@option options [Integer] :parent_team_id ID of a team to set as the parent team. @return [Sawyer::Resource] Hash representing updated team. @see developer.github.com/v3/orgs/teams/#edit-team @example

@client.update_team(100000, {
  :name => 'Front-end Designers',
  :permission => 'push'
})
# File lib/octokit/client/organizations.rb, line 407
def update_team(team_id, options = {})
  patch "teams/#{team_id}", options
end
user_teams(options = {}) click to toggle source

List all teams for the authenticated user across all their orgs

@return [Array<Sawyer::Resource>] Array of team resources. @see developer.github.com/v3/orgs/teams/#list-user-teams

# File lib/octokit/client/organizations.rb, line 649
def user_teams(options = {})
  paginate 'user/teams', options
end