批量删除github仓库

github查询仓库列表api:

$ curl \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  https://api.github.com/users/USERNAME/repos

Github删除仓库API:

$ curl \
  -X DELETE \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  https://api.github.com/repos/OWNER/REPO

一、读取仓库列表存储到文件中

import json
from urllib.request import urlopen, Request

url = "https://api.github.com/users/KillerTwo/repos"

headers={"Accept":"application/vnd.github+json", "Authorization":"Bearer TOKEN"}

req = Request(url = url, data = None, headers = headers)

response = urlopen(req)

contents = response.read()
text = contents.decode("utf8")

data = json.loads(text)

repo_list = [repo["full_name"] + "\n" for repo in data]
print(repo_list)

with open("github-repo-list.json", "wt") as fout:
	fout.writelines(repo_list)

二、编写shell执行脚本

del-repo.sh

cat github-repo-list.json  | while read line || [[ -n ${line} ]]
do
curl -XDELETE -H "Authorization: token $1" "https://api.github.com/repos/$line";
echo "del--- https://api.github.com/repos/$line---"
done

三、运行脚本

$ ./del-repo.sh TOKEN
posted @ 2022-11-06 01:32  我爱这世间美貌女子  阅读(53)  评论(0编辑  收藏  举报