這篇文章主要為大家展示了“python如何操作gitlab API”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“python如何操作gitlab API”這篇文章吧。
創(chuàng)新互聯(lián)建站專注于南樂網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供南樂營銷型網(wǎng)站建設(shè),南樂網(wǎng)站制作、南樂網(wǎng)頁設(shè)計(jì)、南樂網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造南樂網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供南樂網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。使用 python-gitlab 模塊來調(diào)用gitlab的API來管理gitlab
install
pip install python-gitlab # 如果是安裝到Python3使用可以使用如下命令 pip3 install python-gitlab
配置
為了保護(hù)API 用到的 private_token,一般會(huì)將其寫到系統(tǒng)的配置文件中去
/etc/python-gitlab.cfg 或者 ~/.python-gitlab.cfg
配置示例:
root@pts/1 $ cat ~/.python-gitlab.cfg [global] default = kaishugit ssh_verify = False timeout = 8 [kaishugit] url = http://10.0.0.6 private_token = xxxxx-V4Yxxxxxxks7u api_version = 3
程序使用
在程序中使用的時(shí)候可以直接用如下方式調(diào)用
## login gl = gitlab.Gitlab.from_config('kaishugit', ['~/.python-gitlab.cfg'])
examples
## 得到第一頁project列表 projects = gl.projects.list() ## 得到所有project projects = gl.projects.list(all=True) projects = gl.projects.all()
附加
自定義腳本獲取指定用戶或者分組或者全部的代碼倉庫地址
#!/usr/bin/env python3 # encoding: utf-8 # __Author__ = 'Colin' __Date__ = '2018-06-20' import gitlab import os import sys class GitlabAPI(object): def __init__(self, *args, **kwargs): if os.path.exists('/etc/python-gitlab.cfg'): self.gl = gitlab.Gitlab.from_config('kaishugit', ['/etc/python-gitlab.cfg']) elif os.path.exists(os.getenv('HOME') + '/.python-gitlab.cfg'): self.gl = gitlab.Gitlab.from_config('kaishugit', [os.getenv('HOME') + '/.python-gitlab.cfg']) else: print('You need to make sure there is a file named "/etc/python-gitlab.cfg" or "~/.python-gitlab.cfg"') sys.exit(5) def get_user_id(self, username): user = self.gl.users.get_by_username(username) return user.id def get_group_id(self, groupname): group = self.gl.users.search(groupname) return group[0].id def get_all_projects(self): projects = self.gl.projects.list(all=True) result_list = [] for project in projects: result_list.append(project.http_url_to_repo) return result_list def get_user_projects(self, userid): projects = self.gl.projects.owned(userid=userid, all=True) result_list = [] for project in projects: result_list.append(project.http_url_to_repo) return result_list def get_group_projects(self, groupname): projects = self.gl.projects.owned(groupname=groupname, all=True) result_list = [] for project in projects: result_list.append(project.http_url_to_repo) return result_list if __name__ == '__main__': username='caichenyu' git = GitlabAPI() userid = git.get_user_id(username) print(username + '->' + str(userid)) userprojects = git.get_user_projects(userid) print(userprojects)
以上是“python如何操作gitlab API”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!