Gitlab API可从本地文件系统上传整个项目

时间:2019-12-23 10:04:57

标签: gitlab gitlab-api

我需要上传整个项目文件夹,其中包含来自API的多个文本文件,图像文件,源文件等。

我经历了Gitlab提交并上传了API,但没有一个符合要求。

有没有可以上传完整项目文件夹表单API的API?

我使用下面的API创建一个项目

POST:https://repo.virtusa.com/api/v4/projects

{

"name":"test",
"default_branch": "master"

}

2 个答案:

答案 0 :(得分:0)

使用gitlab api创建新项目后,例如:

{ data, isLoading }

您可以根据发布数据curl --fail -d '{"name":"test","default_branch": "master"}' -H "Content-Type: application/json" -X POST https://repo.virtusa.com/api/v4/projects?access_token=<your access token> --output project_details.json -> name来假设您的新项目url,或者可以使用某些工具(例如python:

https://repo.virtusa.com/<gitlab user or gitlab group>/test.git

然后您可以按照现有文件夹的新项目说明进行操作:

http_url_to_repo=$(python -c "import json; print(json.load(open('project_details.json'))['http_url_to_repo'])")

#Push an existing folder cd existing_folder git init git remote add origin $http_url_to_repo git add . git commit -m "Initial commit" git push -u origin master 所在的文件夹中包含要上传为新gitlab项目的提交的源文件。

答案 1 :(得分:0)

您可以使用存储库文件API创建文件。

this gitlab issue

POST /projects/:id/repository/files/:file_path
curl --request POST --header 'PRIVATE-TOKEN: <your_access_token>' --header "Content-Type: application/json" \
  --data '{"branch": "master", "author_email": "author@example.com", "author_name": "Firstname Lastname", \
    "content": "some content", "commit_message": "create a new file"}' \
  'https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb'