Select Git revision
put-users.py
put-users.py 1.56 KiB
import gitlab
import json
import argparse
import os
from dotenv import load_dotenv
parser = argparse.ArgumentParser(description="Get Project, License and Owners from gitlab")
parser.add_argument("--production", action='store_true', help="Use for Production")
parser.add_argument("--developer", action='store_true', help="Use for Developer")
args = parser.parse_args()
load_dotenv()
try:
if args.production:
token = os.getenv('PRODUCTION_TOKEN')
print('Production Mode, connect to server')
# gl = gitlab.Gitlab(url='https://gitlab.geant.org', private_token=token)
elif args.developer:
token = os.getenv('CE_DEVELOPER_TOKEN')
print('Developer Mode, connect to server')
gl = gitlab.Gitlab(url='https://ribes-89.man.poznan.pl', private_token=token)
else:
print("--production or --developer, please, now exit")
exit()
except:
print('Something wrong or Cant connect to GitLab server, check credential')
exit()
with open('ultimate_users.json', encoding='utf8') as ultimate_users_file:
ultimate_users = json.load(ultimate_users_file)
all_users = ultimate_users['all_users']
# tworzenie usera
for user in all_users:
u = all_users[user]
print("create user: ", u['username'])
new_user = gl.users.create(u)
# zmiana uprawnień
owners = ultimate_users['owners']
for owner in owners:
o = owners[owner]['username']
new_owner = gl.users.list(username=o)[0]
new_owner.can_create_group = 'true'
new_owner.projects_limit = '10'
new_owner.save()
print('add permission for user: ', o)