通過使用python-gitlab庫實現,環境是python3.6.9,實現統計gitlab所有組人員和權限,直接貼出代碼
import gitlab
import sys
class Git_rightread():
def __init__(self):
self.gl = gitlab.Gitlab.from_config('outnet', ['gitlab/gitlab.cfg'])
def get_all_groups(self):
groups = self.gl.groups.list(all=True)
return groups
def get_group_members(self, group):
members = group.members.list()
return members
if __name__ == '__main__':
out_git = Git_rightread()
right = []
groups = out_git.get_all_groups()
savaout = sys.stdout
file = open('out.txt', 'w+')
sys.stdout = file
for group in groups:
right.append(group.name+'\n')
members = out_git.get_group_members(group)
for member in members:
right.append(member.name+','+str(member.access_level)+'\n')
#print(member.name,member.access_level)
for i in right:
sys.stdout.write(i)
sys.stdout = savaout
file.close()
這裏基本都是調用已經實現的庫,可以看看我這篇文檔Gitlab使用python批量創建用戶
,裏面給出了這個庫的地址
可以把我主函數部門實現成一個函數進行調用,程序最後會輸出到out.txt裏面