import json import requests from pprint import pprint gitLabURL = "GITLAB URL" private_token = "GITLAB-PRIVATE-TOKEN" gitlabUsername = "USERNAME" gitlabPassword = "PASSWORD" giteaURL = "GITEA URL" giteaAPIKey = "GITEA API KEY" r = requests.get(gitLabURL + "/api/v4/projects", params={"private_token": private_token, "per_page": 100}) oldRepoData = json.loads(r.text) repolist = {} for x in oldRepoData: repolist[x['name']] = x['http_url_to_repo'] for reponame in repolist: data = {"auth_password": gitlabUsername, "auth_username": gitlabPassword, "clone_addr": repolist[reponame], "description": reponame, "issues": True, "labels": True, "milestones": True, "mirror": False, "private": False, "pull_requests": True, "releases": True, "repo_name": reponame, "uid": 1, "wiki": True, 'token': giteaAPIKey} migrate = requests.post(giteaURL + '/api/v1/repos/migrate/',data = data) print(migrate.text)