API
All actions against teams require at a minimum an authenticated user who is a member of the owner’s team in the :org being managed. Api calls that require explicit permissions are noted.
Add a team member In order to add a user to a team, the authenticated user must have ‘admin’ permissions to the team or be an owner of the org that the team is associated with.
github = Github.new :oauth_token => '...' github.orgs.teams.add_member 'team-id', 'user-name'
# File lib/github_api/orgs/teams.rb, line 150 def add_member(*args) arguments(args, :required => [:team_id, :user]) put_request("/teams/#{team_id}/members/#{user}", arguments.params) end
Add a team repository
In order to add a repo to a team, the authenticated user must be an owner of the org that the team is associated with. Also, the repo must be owned by the organization, or a direct for of a repo owned by the organization.
github = Github.new :oauth_token => '...' github.orgs.teams.add_repo 'team-id', 'user-name', 'repo-name'
# File lib/github_api/orgs/teams.rb, line 217 def add_repo(*args) arguments(args, :required => [:team_id, :user, :repo]) put_request("/teams/#{team_id}/repos/#{user}/#{repo}", arguments.params) end
Create a team
In order to create a team, the authenticated user must be an owner of:org.
<tt>:name</tt> - Required string <tt>:repo_names</tt> - Optional array of strings <tt>:permission</tt> - Optional string * <tt>pull</tt> - team members can pull, but not push or administor this repositories. Default * <tt>push</tt> - team members can pull and push, but not administor this repositores. * <tt>admin</tt> - team members can pull, push and administor these repositories.
github = Github.new :oauth_token => '...' github.orgs.teams.create 'org-name', "name" => "new team", "permission" => "push", "repo_names" => [ "github/dotfiles" ]
# File lib/github_api/orgs/teams.rb, line 61 def create(*args) arguments(args, :required => [:org_name]) do sift VALID_TEAM_PARAM_NAMES assert_values VALID_TEAM_PARAM_VALUES assert_required ]name] end post_request("/orgs/#{org_name}/teams", arguments.params) end
Delete a team In order to delete a team, the authenticated user must be an owner of the org that the team is associated with
github = Github.new :oauth_token => '...' github.orgs.teams.delete 'team-id'
# File lib/github_api/orgs/teams.rb, line 104 def delete(*args) arguments(args, :required => [:team_id]) delete_request("/teams/#{team_id}", arguments.params) end
Edit a team In order to edit a team, the authenticated user must be an owner of the org that the team is associated with.
<tt>:name</tt> - Required string <tt>:permission</tt> - Optional string * <tt>pull</tt> - team members can pull, but not push or administor this repositories. Default * <tt>push</tt> - team members can pull and push, but not administor this repositores. * <tt>admin</tt> - team members can pull, push and administor these repositories.
github = Github.new :oauth_token => '...' github.orgs.teams.edit 'team-id', "name" => "new team name", "permission" => "push"
# File lib/github_api/orgs/teams.rb, line 87 def edit(*args) arguments(args, :required => [:team_id]) do sift VALID_TEAM_PARAM_NAMES assert_values VALID_TEAM_PARAM_VALUES assert_required ]name] end patch_request("/teams/#{team_id}", arguments.params) end
Get a team
github = Github.new :oauth_token => '...' github.orgs.teams.get 'team-id'
# File lib/github_api/orgs/teams.rb, line 34 def get(*args) arguments(args, :required => [:team_id]) get_request("/teams/#{team_id}", arguments.params) end
List teams
github = Github.new :oauth_token => '...' github.orgs.teams.list 'org-name'
# File lib/github_api/orgs/teams.rb, line 19 def list(*args) arguments(args, :required => [:org_name]) response = get_request("/orgs/#{org_name}/teams", arguments.params) return response unless block_given? response.each { |el| yield el } end
List team members In order to list members in a team, the authenticated user must be a member of the team.
github = Github.new :oauth_token => '...' github.orgs.teams.list_members 'team-id' github.orgs.teams.list_members 'team-id' { |member| ... }
# File lib/github_api/orgs/teams.rb, line 119 def list_members(*args) arguments(args, :required => [:team_id]) response = get_request("/teams/#{team_id}/members", arguments.params) return response unless block_given? response.each { |el| yield el } end
List team repositories
github = Github.new :oauth_token => '...' github.orgs.teams.list_repos 'team-id'
# File lib/github_api/orgs/teams.rb, line 181 def list_repos(*args) arguments(args, :required => [:team_id]) response = get_request("/teams/#{team_id}/repos", arguments.params) return response unless block_given? response.each { |el| yield el } end
Remove a team member
In order to remove a user from a team, the authenticated user must have ‘admin’ permissions to the team or be an owner of the org that the team is associated with. note: This does not delete the user, it just remove them from the team.
github = Github.new :oauth_token => '...' github.orgs.teams.remove_member 'team-id', 'user-name'
# File lib/github_api/orgs/teams.rb, line 168 def remove_member(*args) arguments(args, :required => [:team_id, :user]) delete_request("/teams/#{team_id}/members/#{user}", arguments.params) end
Remove a team repository
In order to add a repo to a team, the authenticated user must be an owner of the org that the team is associated with. note: This does not delete the repo, it just removes it from the team.
github = Github.new :oauth_token => '...' github.orgs.teams.remove_repo 'team-id', 'user-name', 'repo-name'
# File lib/github_api/orgs/teams.rb, line 234 def remove_repo(*args) arguments(args, :required => [:team_id, :user, :repo]) delete_request("/teams/#{team_id}/repos/#{user}/#{repo}", arguments.params) end
Check if a user is a member of a team
github = Github.new :oauth_token => '...' github.orgs.teams.team_member? 'team-id', 'user-name'
# File lib/github_api/orgs/teams.rb, line 134 def team_member?(*args) arguments(args, :required => [:team_id, :user]) response = get_request("/teams/#{team_id}/members/#{user}", arguments.params) response.status == 204 rescue Github::Error::NotFound false end
Check if a repository belongs to a team
github = Github.new :oauth_token => '...' github.orgs.teams.team_repo? 'team-id', 'user-name', 'repo-name'
# File lib/github_api/orgs/teams.rb, line 196 def team_repo?(*args) arguments(args, :required => [:team_id, :user, :repo]) response = get_request("/teams/#{team_id}/repos/#{user}/#{repo}", arguments.params) response.status == 204 rescue Github::Error::NotFound false end
Generated with the Darkfish Rdoc Generator 2.