Esempio n. 1
0
    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)
Esempio n. 2
0
    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
Esempio n. 3
0
    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)
Esempio n. 4
0
    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()