Commit 2273dd204f
Unsigned
Layout: unified · split
applications/gitlab/README.org added +11
| @@ -0,0 +1,11 @@ | |||
| 1 | #+title: GitLab Scripts | ||
| 2 | |||
| 3 | * =gitlab_admins.py= | ||
| 4 | |||
| 5 | #+begin_src sh | ||
| 6 | python ./gitlab_admins.py | ||
| 7 | #+end_src | ||
| 8 | |||
| 9 | #+begin_src text | ||
| 10 | Username: ccleberg, Access Level: 50 | ||
| 11 | #+end_src | ||
applications/gitlab/gitlab_admins.py added +23
| @@ -0,0 +1,23 @@ | |||
| 1 | """ | ||
| 2 | Gather all members of a GitLab group and their access levels. | ||
| 3 | """ | ||
| 4 | |||
| 5 | import requests | ||
| 6 | |||
| 7 | BASE_URL = "https://gitlab.com/api/v4" | ||
| 8 | PRIVATE_TOKEN = "your_access_token" | ||
| 9 | GROUP_ID = "your_group_id" | ||
| 10 | TIMEOUT = 30 | ||
| 11 | |||
| 12 | url = f"{BASE_URL}/groups/{GROUP_ID}/members" | ||
| 13 | headers = {"PRIVATE-TOKEN": PRIVATE_TOKEN} | ||
| 14 | |||
| 15 | if __name__ == '__main__': | ||
| 16 | # Get group members | ||
| 17 | response = requests.get(url, headers=headers) | ||
| 18 | if response.status_code == 200: | ||
| 19 | members = response.json() | ||
| 20 | for member in members: | ||
| 21 | print(f"Username: {member['username']}, Access Level: {member['access_level']}") | ||
| 22 | else: | ||
| 23 | print(f"Failed to fetch group members: {response.status_code}, {response.text}") | ||