GitHub仓库管理API

一个用于创建、更新和删除GitHub仓库的HTTP REST API工具,适用于需要自动化管理GitHub仓库的开发者和团队。

  • by caglaozkaninan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 caglaozkaninan/github-mcp-server

使用说明

GitHub管理器API

GitHub知识库管理器-用于创建、更新和删除GitHub存储库的HTTP REST API。

特性

  • ✅ 创建新存储库
  • ✅ 更新存储库隐私(公共/私有)
  • ✅ 删除存储库(确认后)
  • ✅ 列出用户存储库
  • ✅ 健康检查端点

设置

1.克隆存储库

git clone https://github.com/USERNAME/github-manager-api.git
cd github-manager-api

2.安装依赖项

pip install flask requests python-dotenv

3.创建环境文件

echo "GITHUB_TOKEN=your_github_personal_access_token" > .env

GitHub代币要求:

  • 转到GitHub→ 设置→ 开发人员设置→ 个人访问令牌
  • 使用以下作用域创建新令牌:
    • repo (完全控制私有存储库)
    • delete_repo (删除存储库)

4.运行服务器

python main.py

服务器将于启动 http://localhost:8001

API终点

健康检查

curl http://localhost:8001/health

列出存储库

curl http://localhost:8001/list-repos

创建存储库

curl -X POST http://localhost:8001/create-repo \
  -H 'Content-Type: application/json' \
  -d '{"name":"my-new-repo", "private":false, "description":"My awesome repository"}'

参数:

  • name (必填):存储库名称
  • private (可选):true/false,默认值:false
  • description (可选):存储库描述

更新存储库隐私

curl -X PATCH http://localhost:8001/update-repo-privacy \
  -H 'Content-Type: application/json' \
  -d '{"name":"my-repo", "private":true}'

参数:

  • name (必填):存储库名称
  • private (必填):私人为真,公共为假

删除存储库

curl -X DELETE http://localhost:8001/delete-repo \
  -H 'Content-Type: application/json' \
  -d '{"name":"repo-to-delete", "confirm":true}'

参数:

  • name (必填):要删除的存储库名称
  • confirm (必填):必须 true 确认删除

⚠️ 警告:存储库删除是不可逆的!

示例用法

# 1. Create a test repository
curl -X POST http://localhost:8001/create-repo \
  -H 'Content-Type: application/json' \
  -d '{"name":"test-repo", "private":false, "description":"Test repository"}'

# 2. Make it private
curl -X PATCH http://localhost:8001/update-repo-privacy \
  -H 'Content-Type: application/json' \
  -d '{"name":"test-repo", "private":true}'

# 3. Delete it (be careful!)
curl -X DELETE http://localhost:8001/delete-repo \
  -H 'Content-Type: application/json' \
  -d '{"name":"test-repo", "confirm":true}'

响应格式

所有端点都返回JSON响应:

成功响应:

{
  "success": true,
  "message": "Operation completed successfully",
  "data": {...}
}

错误响应:

{
  "success": false,
  "error": "Error description"
}

安全说明

  • 永远不要承诺你的 .env 文件到版本控制
  • 确保您的GitHub令牌安全
  • 使用具有最低所需权限的令牌
  • 考虑将GitHub Apps用于生产环境

发展

这是一个开发服务器。对于生产部署,请使用适当的WSGI服务器,如Gunicorn:

pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:8001 main:app

许可证

MIT许可证-可根据需要自由使用和修改。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

由以下材料制成❤️ GitHub自动化