GitHub Operations
v2提供GitHub操作的完整解决方案,包括仓库管理、分支管理、PR和Issue管理、安全最佳实践、开源项目规范和IM通道集成。当用户需要操作GitHub仓库、创建开源项目或集成IM通道时调用。
运行时依赖
安装命令
点击复制技能文档
GitHub 操作技能
本技能提供GitHub操作的完整解决方案,包括仓库管理、分支管理、PR和Issue管理、安全最佳实践、开源项目规范和IM通道集成。
核心功能
- 仓库管理
- 分支管理
- PR管理
- Issue管理
- 安全最佳实践
- 开源项目规范
- IM通道集成
- 安装依赖
- 配置环境变量
创建.env文件:
# GitHub API 令牌 GITHUB_令牌=你的GitHub令牌
# 飞书配置 FEISHU_网页HOOK_URL=https://open.feishu.cn/open-APIs/机器人/v2/hook/your-网页hook-id
# 企业微信配置 WECOM_CORP_ID=你的企业ID WECOM_应用_SECRET=你的应用密钥 WECOM_代理_ID=你的应用ID
# 微信个人号配置 WEIXIN_机器人_令牌=你的iLink 机器人 令牌 WEIXIN_API_URL=https://API.ilink.qq.com
# Slack配置 SLACK_API_令牌=你的Slack API 令牌
使用示例 仓库管理 # 列出所有仓库 python mAIn.py repo 列出
# 创建新仓库 python mAIn.py repo 创建 --name my-repo --description "我的新仓库"
# 获取仓库详情 python mAIn.py repo 获取 --name my-repo
# 删除仓库 python mAIn.py repo 删除 --name my-repo
分支管理 # 创建新分支 python mAIn.py branch 创建 --repo my-repo --name feature-branch
# 列出分支 python mAIn.py branch 列出 --repo my-repo
PR管理 # 创建PR python mAIn.py pr 创建 --repo my-repo --title "添加新功能" --body "这是一个新功能" --head feature-branch --base mAIn
# 列出PR python mAIn.py pr 列出 --repo my-repo
Issue管理 # 创建Issue python mAIn.py issue 创建 --repo my-repo --title "Bug报告" --body "有东西坏了"
# 列出Issue python mAIn.py issue 列出 --repo my-repo
安全措施 令牌安全:GitHub 令牌存储在环境变量中,不硬编码在代码中 权限控制:使用最小权限的令牌 操作验证:重要操作需要用户确认 日志记录:记录所有操作,便于审计 错误处理:处理异常情况,避免信息泄露 IM通道集成示例 飞书集成 class FeishuIntegration: def __init__(self): self.feishu_网页hook_url = os.获取env('FEISHU_网页HOOK_URL') def 发送_message(self, message): if self.feishu_网页hook_url: payload = { "msg_type": "text", "content": { "text": message } } 响应 = 请求s.post(self.feishu_网页hook_url, json=payload) return 响应.json() return {"error": "FEISHU_网页HOOK_URL not 设置"}
微信集成 class WeChatIntegration: def __init__(self): # 企业微信配置 self.wecom_corp_id = os.获取env('WECOM_CORP_ID') self.wecom_应用_secret = os.获取env('WECOM_应用_SECRET') self.wecom_代理_id = os.获取env('WECOM_代理_ID') # 微信个人号配置(使用iLink 机器人) self.weixin_机器人_令牌 = os.获取env('WEIXIN_机器人_令牌') self.weixin_API_url = os.获取env('WEIXIN_API_URL', 'https://API.ilink.qq.com')
开源项目规范 README.md 模板 # 项目名称
项目描述
功能特性
- 功能1
- 功能2
- 功能3
安装说明
- 克隆仓库
- 安装依赖
- 配置环境变量
使用方法
命令示例
``bash
# 命令1
# 命令2
# 命令3
贡献指南
详见CONTRIBUTING.md文件。
许可证
本项目采用MIT许可证 - 详见LICENSE文件。
.gitignore 模板
环境变量文件
.env
依赖目录
py缓存/ .py[cod]
编辑器文件
.vscode/ .idea/ .swp .swo ~
系统文件
.DS_Store Thumbs.db
最佳实践
代码组织:使用模块化设计,分离核心逻辑和命令行接口- 错误处理:使用try-except捕获异常,提供友好的错误信息
- 文档编写:使用中文编写清晰的文档,便于国内开发者理解
- 安全意识:时刻注意保护敏感信息,避免硬编码
- 版本控制:使用Git进行版本控制,提交有意义的commit信息
常见问题
1. GitHub 令牌权限不足
解决方案:在GitHub个人访问令牌设置中,确保选择了适当的权限范围,如repo权限。
2. 网络连接问题
解决方案:检查网络连接,确保能访问GitHub API。
3. 敏感信息泄露
解决方案:使用.gitignore`文件排除敏感文件,使用环境变量存储敏感信息。
4. 命令执行错误
解决方案:检查命令参数是否正确,确保仓库名称存在,分支名称有效。
总结
本技能提供了GitHub操作的完整解决方案,涵盖了仓库管理、分支管理、PR和Issue管理、安全最佳实践、开源项目规范和IM通道集成。通过使用本技能,用户可以安全、高效地管理GitHub仓库,创建标准化的开源项目,并通过各种IM通道进行控制。