aboutsummaryrefslogtreecommitdiff
path: root/blog/2021-07-15-delete-gitlab-repos.org
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-01-08 20:11:17 -0600
committerChristian Cleberg <hello@cleberg.net>2024-01-08 20:11:17 -0600
commit25945b8fead989cca09a23983623b63ce36dcc0c (patch)
tree0dfc869ce8b028e04ce9da196af08779780915ce /blog/2021-07-15-delete-gitlab-repos.org
parent22b526be60bf4257c2a1d58a5fad59cf6b044375 (diff)
downloadcleberg.net-25945b8fead989cca09a23983623b63ce36dcc0c.tar.gz
cleberg.net-25945b8fead989cca09a23983623b63ce36dcc0c.tar.bz2
cleberg.net-25945b8fead989cca09a23983623b63ce36dcc0c.zip
feat: total re-write from Emacs org-mode to Zola markdown
Diffstat (limited to 'blog/2021-07-15-delete-gitlab-repos.org')
-rw-r--r--blog/2021-07-15-delete-gitlab-repos.org120
1 files changed, 0 insertions, 120 deletions
diff --git a/blog/2021-07-15-delete-gitlab-repos.org b/blog/2021-07-15-delete-gitlab-repos.org
deleted file mode 100644
index 99249e9..0000000
--- a/blog/2021-07-15-delete-gitlab-repos.org
+++ /dev/null
@@ -1,120 +0,0 @@
-#+title: How to Delete All GitLab Repositories
-#+date: 2021-07-15
-
-** Background
-:PROPERTIES:
-:CUSTOM_ID: background
-:END:
-Have you ever used GitLab to host your source code, moved to a different
-host, and wanted to delete everything from your GitLab account? Well,
-this post covers any scenario where you would want to delete all
-repositories from your GitLab account.
-
-For me, I currently maintain around 30 repositories and don't like to
-manually delete them whenever I switch host. GitHub has a few different
-tools online to delete all repositories for you, but I have not found
-anything similar for GitLab, so I needed an alternative solution.
-
-** Use a Python Script
-:PROPERTIES:
-:CUSTOM_ID: use-a-python-script
-:END:
-*** Requirements
-:PROPERTIES:
-:CUSTOM_ID: requirements
-:END:
-Before we look at the script, make sure you know your GitLab username.
-Next, [[https://gitlab.com/-/profile/personal_access_tokens][create an
-authorization token]] so that the Python script can delete your
-repositories. Don't lose this token or else you'll need to create a new
-one.
-
-*** Create the Script
-:PROPERTIES:
-:CUSTOM_ID: create-the-script
-:END:
-To run a Python script, you must first create it. Open a terminal and
-enter the following commands in whichever directory you prefer to store
-the script. You can do the same things in a file manager if you prefer.
-
-#+begin_src sh
-mkdir delete-gitlab
-#+end_src
-
-#+begin_src sh
-cd delete-gitlab
-#+end_src
-
-#+begin_src sh
-nano main.py
-#+end_src
-
-Enter the following code into your =main.py= script.
-
-#+begin_src python
-import request
-import json
-
-
-def get_project_ids():
- url = "https://gitlab.com/api/v4/users/{user-id}/projects"
-
- querystring = {"owned": "true", "simple": "true", "per_page": "50"}
-
- payload = ""
- headers = {'authorization': 'Bearer {auth-token}'}
-
- response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
-
- projects = json.loads(response.text)
- projects_ids = list(map(lambda project: project.get('id'), projects))
-
- return projects_ids
-
-
-def remove_project(project_id):
- url_temp = "https://gitlab.com/api/v4/projects/{project}"
- headers = {'authorization': 'Bearer {auth-token}'}
- querystring = ""
- payload = ""
-
- url = url_temp.format(project=project_id)
-
- response = requests.request("DELETE", url, data=payload, headers=headers, params=querystring)
- project = json.loads(response.text)
- print(project)
-
-
-def main():
- projects_ids = get_project_ids()
-
- url_temp = "https://gitlab.com/api/v4/projects/{project}"
- headers = {'authorization': 'Bearer {auth-token}'}
- querystring = ""
- payload = ""
-
- for project_id in projects_ids:
- url = url_temp.format(project=project_id)
-
- response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
- project = json.loads(response.text)
- print(str(project.get('id')) + " " + project.get('name'))
- print("Removing...")
- remove_project(project_id)
-
-
-if __name__ == "__main__":
- main()
-#+end_src
-
-Now that you have the proper information, replace ={user-id}= with your
-GitLab username and ={auth-token}= with the authorization token you
-created earlier.
-
-Finally, simply run the script and watch the output. You can also use
-PyCharm Community Edition to edit and run the Python script if you don't
-want to work in a terminal.
-
-#+begin_src sh
-python3 main.py
-#+end_src