GIT的API主要应用示例
2016-06-16 15:00
357 查看
这几个简单的API应用,主要是通过TOKEN来获取GIT内空的例子。
但在获取GIT的文件列表时,要注意区分目录和文件的MODE差别(
)。
获取文件列表示例(内含子目录):
但在获取GIT的文件列表时,要注意区分目录和文件的MODE差别(
100644 普通文件
040000 普通目录
)。
import requests class GitHub: def __init__(self): self.__url = 'http://1。2.3.4/api/v3/' self.__private_token = 'sdtrwr324sdfsdf' def get_project_id(self, project_name): project_name = str(project_name).lower() url = self.__url + 'projects/search/' + project_name + '?private_token=' + self.__private_token req = requests.get(url) data = req.json() return str(data[0]['id']) def get_project_files(self, project_name, version): project_name = str(project_name).lower() project_id = self.get_project_id(project_name) url = self.__url + 'projects/' + project_id + '/repository/tree?private_token=' + self.__private_token + '&path=' + version req = requests.get(url) data = req.json() return data def get_file_content(self, project_name, version, file_name): project_name = str(project_name).lower() project_id = self.get_project_id(project_name) url = self.__url + 'projects/' + project_id + '/repository/files?private_token=' + self.__private_token + '&ref=master&file_path=' + version + '/' + file_name req = requests.get(url) data = req.json() return data def get_file_url(self, project_name, version, file_name): project_name = str(project_name).lower() project_id = self.get_project_id(project_name) url = 'http://1.2.3.4/prj_sql/' + project_name + '/blob/master/' + version + '/' + file_name return url
获取文件列表示例(内含子目录):
[{"id":"9cefa7fcd94d23ce6a9afa63c185ae8491580f9d","name":"25.1","type":"tree","mode":"040000"}, {"id":"bd34591bcd6d8983ea5c1ab35fd5fb9d226f3f5f","name":"25.2","type":"tree","mode":"040000"}, {"id":"f89a96f1aaafcbd16f693a9007466cfd5735636e","name":"101_u01_create_t_model_dd.sql","type":"blob","mode":"100644"}, {"id":"5f848d696dd890e4cdd3063b2b596a8921cbf873","name":"102_u01_create_syn_t_model_aa.sql","type":"blob","mode":"100644"}, {"id":"9671cef3770c0abb04065240c8edb245c78585eb","name":"103_u01_grant_t_model_cc.sql","type":"blob","mode":"100644"}]
相关文章推荐
- Forms & HTML 组件 - laravelcollective/html
- select下拉框美化
- C/C++中static、const的区别
- Java中,List菜单树的生成,最后转成json传给前台
- Linux下Tomcat的启动、关闭、杀死进程
- SIP可靠性(SIP Reliability)
- UIView的maskView属性
- 并发连接数、请求数、并发用户数
- awk命令的使用
- 在旋转数组中找最小的值
- logstash,nginx日志,grok pattern调试
- SharePoint 2013 CSOM 对象模型属性包
- Java集合---HashSet的源码分析
- 团队开发项目客户端——注册子系统的设计
- ios基本控件之UIAlertController
- C++读写Excel文件
- RAD 10.1多标签页bug
- H264视频压缩编码标准(四)
- 取消一个请求(Cancel)
- Git知识点总结