import requests import os def get_repo_names(org_name, token): url = "https://api.github.com/orgs/{}/repos".format(org_name) headers = {"Authorization": "token {}".format(token)} response = requests.get(url, headers=headers) if response.status_code == 200: repos = response.json() repo_names = [repo["name"] for repo in repos] return repo_names else: print("Failed to fetch repositories: {}".format(response.status_code)) return [] def get_deploy_keys(org_name, repo_name, token): url = "https://api.github.com/repos/{}/{}/keys".format(org_name, repo_name) headers = {"Authorization": "token {}".format(token)} response = requests.get(url, headers=headers) if response.status_code == 200: keys = response.json() return keys else: print("Failed to fetch deploy keys from {}: {}".format(repo_name, response.status_code)) return [] def delete_deploy_key(org_name, repo_name, key_id, token): url = "https://api.github.com/repos/{}/{}/keys/{}".format(org_name, repo_name, key_id) headers = {"Authorization": "token {}".format(token)} response = requests.delete(url, headers=headers) if response.status_code == 204: print("Deploy key deleted successfully from {}".format(repo_name)) else: print("Failed to delete deploy key from {}: {}".format(repo_name, response.status_code)) def delete_deploy_keys_in_org(org_name, token): repo_names = get_repo_names(org_name, token) for repo_name in repo_names: keys = get_deploy_keys(org_name, repo_name, token) for key in keys: delete_deploy_key(org_name, repo_name, key["id"], token) def main(): org_name = "Md" token = os.environ.get('GITHUB_TOKEN') delete_deploy_keys_in_org(org_name, token) if __name__ == "_main_": main() token = os.environ.get('GITHUB_TOKEN') delete_deploy_keys_in_org(org_name, token)