亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python操作gitlab API過程解析

 更新時(shí)間:2019年12月27日 14:11:12   作者:全棧運(yùn)維  
這篇文章主要介紹了python操作gitlab API過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了python操作gitlab API過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

使用 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)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用實(shí)例解釋Python中的繼承和多態(tài)的概念

    用實(shí)例解釋Python中的繼承和多態(tài)的概念

    這篇文章主要介紹了用實(shí)例解釋Python中的繼承和多態(tài)的概念,繼承和多臺(tái)是學(xué)習(xí)每一門面對對象的編程語言時(shí)都必須掌握的重要知識(shí),需要的朋友可以參考下
    2015-04-04
  • python連接oracle數(shù)據(jù)庫操作實(shí)例及遇到的異常

    python連接oracle數(shù)據(jù)庫操作實(shí)例及遇到的異常

    這篇文章主要給大家介紹了關(guān)于python連接oracle數(shù)據(jù)庫操作實(shí)例及遇到的一些異常,Oracle是著名且廣泛使用的數(shù)據(jù)庫之一,而python的數(shù)據(jù)處理功能可以很好地利用這種連接性,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Python過濾txt文件內(nèi)重復(fù)內(nèi)容的方法

    Python過濾txt文件內(nèi)重復(fù)內(nèi)容的方法

    今天小編就為大家分享一篇Python過濾txt文件內(nèi)重復(fù)內(nèi)容的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Django中的FBV和CBV用法詳解

    Django中的FBV和CBV用法詳解

    這篇文章主要介紹了Django中的FBV和CBV用法詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • python里glob模塊知識(shí)點(diǎn)總結(jié)

    python里glob模塊知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python里glob模塊知識(shí)點(diǎn)總結(jié),有需要的朋友們可以參考下。
    2021-01-01
  • python實(shí)現(xiàn)給字典添加條目的方法

    python實(shí)現(xiàn)給字典添加條目的方法

    這篇文章主要介紹了python實(shí)現(xiàn)給字典添加條目的方法,是比較實(shí)用的字典操作技巧,實(shí)例備有簡單的注釋,需要的朋友可以參考下
    2014-09-09
  • python編程簡單幾行代碼實(shí)現(xiàn)視頻轉(zhuǎn)換Gif示例

    python編程簡單幾行代碼實(shí)現(xiàn)視頻轉(zhuǎn)換Gif示例

    這篇文章主要為大家介紹了簡單使用幾行python代碼就可以實(shí)現(xiàn)將視頻轉(zhuǎn)換Gif的示例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • 關(guān)于sys.stdout和print的區(qū)別詳解

    關(guān)于sys.stdout和print的區(qū)別詳解

    今天小編就為大家分享一篇關(guān)于sys.stdout和print的區(qū)別詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python線程池的正確使用方法

    Python線程池的正確使用方法

    這篇文章主要介紹了Python線程池的正確使用方法,Python的線程池與Java線程池基本原理和概念是共通的。最大的區(qū)別大概就是語言的區(qū)別吧,感興趣的朋友可以參考下面內(nèi)容
    2021-09-09
  • Python中不同進(jìn)制的語法及轉(zhuǎn)換方法分析

    Python中不同進(jìn)制的語法及轉(zhuǎn)換方法分析

    這篇文章主要介紹了Python中不同進(jìn)制的語法及轉(zhuǎn)換方法,結(jié)合實(shí)例形式分析了Python不同進(jìn)制的表示方法及相互轉(zhuǎn)換方法,需要的朋友可以參考下
    2016-07-07

最新評論