def list_org_teams(self, org): headers = { 'Authorization': 'token {}'.format(self.github_creds[org]) } params = { "page": 1, } done = False teams = set() url = "{}orgs/{}/teams".format(GITHUB_URL, org) while not done: result = requests.get(url, headers=headers, params=params) if result.status_code != 200: raise InvalidResponseCodeFromGitHubError(org, result.status_code) if not result.links.get("last"): done = True else: params["page"] += 1 result_json = result.json() for team in result_json: teams.add(team["name"]) return list(teams)
def list_org_repos(self, org, type="all"): headers = {'Authorization': 'token {}'.format(self.github_creds[org])} params = {"page": 1, "type": type} done = False repos = [] while not done: url = "https://api.github.com/orgs/{}/repos".format(org) result = requests.get(url, headers=headers, params=params) if result.status_code != 200: raise InvalidResponseCodeFromGitHubError( org, result.status_code) if not result.links.get("last"): done = True else: params["page"] += 1 result_json = result.json() repos += result_json return repos
def list_org_members(self, org, role="all", twofa="all"): headers = { 'Authorization': 'token {}'.format(self.github_creds[org]) } params = { "page": 1, "role": role, "filter": twofa } done = False members = set() while not done: url = "{}orgs/{}/members".format(GITHUB_URL, org) result = requests.get(url, headers=headers, params=params) if result.status_code != 200: raise InvalidResponseCodeFromGitHubError(org, result.status_code) if not result.links.get("last"): done = True else: params["page"] += 1 result_json = result.json() for member in result_json: members.add(member["login"]) return list(members)
def get_org_details(self, org): headers = {'Authorization': 'token {}'.format(self.github_creds[org])} url = "{}orgs/{}".format(GITHUB_URL, org) result = requests.get(url, headers=headers) if result.status_code != 200: raise InvalidResponseCodeFromGitHubError(org, result.status_code) return result.json()