Gitee API的使用|如何批量删除Gitee下的所有仓库
前言
那么这里博主先安利一些干货满满的专栏了!
首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。
高质量博客汇总
https://blog.csdn.net/yu_cblog/category_12379430.html
然后就是博主最近最花信息的一个专栏《Git企业开发控制理论和实操》希望大家多多关注!
Git企业开发控制理论和实操https://blog.csdn.net/yu_cblog/category_12419275.html?spm=1001.2014.3001.5482
博主的Github主页
里面都是一些博主自己做的项目,希望对大家有帮助。
为啥写这篇文章
因为博主之前的Gitee上用VSStudio创建了很多无用的仓库,100多个,一次一次删除太麻烦了,所以想到一个自动化删除的办法。
然后Github批量删除网上是可以查到办法的,但是Gitee我查不到,所以就写一篇博客给大家参考。
然后Github批量删除仓库可以参考以下链接。批量删除github工程仓库的办法 - 知乎github上的工程太多想清理一下,可是,github只能一个一个删除,真是太慢啦! 网上有很多推荐使用 RepoSweeper.com删除的,亲测无效,虽然提示删除成功,但是github上还是存在。 下面这个方法,教你轻松实现批量…https://zhuanlan.zhihu.com/p/617769628
Gitee Api
Gitee提供了一系列的API(应用程序编程接口),允许开发者通过编程方式与Gitee平台进行交互,从而实现自动化、集成以及定制化的开发工作流程。
Gitee的API可以用于许多用途,如创建和管理仓库、发布版本、管理问题和Pull请求、查找用户信息等。以下是一些常见的Gitee API功能:
-
仓库管理:可以通过API创建、删除、重命名、设置权限、获取仓库信息等。
-
问题和Pull请求:可以使用API获取、创建、关闭、评论问题和Pull请求。
-
用户管理:可以通过API获取用户信息、搜索用户、获取用户的仓库列表等。
-
文件操作:可以通过API上传、下载、删除文件,也可以获取文件内容的信息。
-
Webhooks:可以通过API创建和管理Webhooks,实现与仓库事件的实时集成。
-
统计信息:可以获取有关仓库和用户活动的统计数据。
-
授权和认证:在使用API时,通常需要使用授权令牌来验证身份和访问权限。
要开始使用Gitee的API,您需要先在Gitee上创建一个帐户,然后生成一个API令牌(token),以便您的应用程序可以通过这个令牌进行身份验证和授权。然后,您可以根据Gitee提供的API文档来构建和调用不同的API端点,以实现您所需的功能。
Gitee api文档
Gitee API 文档https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoStargazers?ex=no然后如果要通过Gitee的API去编程操作,就要现在Gitee上生成一个token。
然后通过文档中的教程和提示,就能够学会使用,也可以在Gitee上测试一下看看能否使用。
批量删除Gitee上的仓库
思路就是先通过api获取所有仓库的名称,然后批量通过API删除就行了。
import requests
# 在这里填入你的个人访问令牌
access_token = "your_token"
user_name = "your_user_name"
# 获取仓库列表
def get_repository_list():
headers = {
"Authorization": f"Bearer {access_token}"
}
response = requests.get("https://gitee.com/api/v5/user/repos", headers=headers)
repositories = response.json()
return repositories
# 删除仓库
def delete_repository(repo_name):
headers = {
"Authorization": f"Bearer {access_token}"
}
response = requests.delete(f"https://gitee.com/api/v5/repos/{user_name}/{repo_name}", headers=headers)
if response.status_code == 204:
print(f"Repository '{repo_name}' deleted successfully.")
else:
print(f"Failed to delete repository '{repo_name}'. Status code: {response.status_code}")
if __name__ == "__main__":
repositories = get_repository_list()
print(len(repositories))
for repo in repositories:
repo_name = repo["name"]
delete_repository(repo_name)
使用的时候把 your_token 和 your_user_name 改一下即可。
补充
这个api的功能Github也有的,使用方法完全一样,去看一下Github的api文档就行了。
参考:
关于 GitHub 的 API - GitHub 文档了解 GitHub 的 API 以扩展和自定义您的 GitHub 体验。https://docs.github.com/zh/rest/overview/about-githubs-apis?apiVersion=2022-11-28然后无论是Github的还是Gitee的api,除了删除还可以做很多其他事情,大家想干啥的看文档就行了,很简单。