Skip to content

Instantly share code, notes, and snippets.

@benbalter
Last active September 9, 2016 16:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save benbalter/8436e608190e72b973d0 to your computer and use it in GitHub Desktop.
Save benbalter/8436e608190e72b973d0 to your computer and use it in GitHub Desktop.

GitHub Report

Teams

Owners

Members:

  • benbalter

Repositories:

  • test-repo

test-team

Members:

  • benbalter

Repositories:

  • test-repo

Private Repositories

  • test-repo
# Personal access token with `read:org` and `repo` access
# Created via https://github.com/settings/tokens/new
access_token = "XXX"
# Name of organization you'd like to generate the report for
org_name = "balter-test-org"
# Init an authenticated client
# See http://octokit.github.io/ for .net and other languages
require 'octokit'
client = Octokit::Client.new :access_token => access_token
puts "# GitHub Report\n"
# Get a list of the organization's teams
# See https://developer.github.com/v3/orgs/teams/#list-teams
puts "\n## Teams\n"
teams = client.organization_teams(org_name)
# Loop through teams
teams.each do |team|
puts "\n### #{team[:name]}\n"
# Get a list of team members
# See https://developer.github.com/v3/orgs/teams/#list-team-members
puts "\nMembers:\n"
members = client.team_members(team[:id])
members.each do |member|
puts " * #{member[:login]}"
end
# Get a list of team repositories
# See https://developer.github.com/v3/orgs/teams/#list-team-repos
puts "\nRepositories:\n"
repos = client.team_repos(team[:id])
repos.each do |repo|
puts " * #{repo[:name]}"
end
end
# Get a list of private repositories
# See https://developer.github.com/v3/repos/#list-organization-repositories
puts "\n## Private Repositories"
repos = client.organization_repositories(org_name, :type => "private")
repos.each do |repo|
puts " * #{repo[:name]}"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment