无法找到基本GitLab API基本网址

时间:2016-09-28 15:31:18

标签: api gitlab

我已经在我的gitlab.com帐户上创建了项目和回购,生成了私钥,现在我正在尝试进行api调用以获取提交列表。

现在我想通过api从文档中获取项目列表 https://docs.gitlab.com/ce/api/projects.html#list-projects

GET /projects

所以我正在做

curl --header "PRIVATE-TOKEN: XXXXXXX -c" "https://gitlab.com/projects"

获得404。 我尝试了几种组合,无法找到正确的基本网址。

对于存储库提交相同,文档https://docs.gitlab.com/ce/api/commits.html

https://gitlab.example.com/api/v3/projects/5/repository/commits

很好,我正在尝试(使用myusername / projectname作为项目ID) https://gitlab.com/api/v3/projects/myusername/projectname/repository/commits

并获得了404

3 个答案:

答案 0 :(得分:15)

托管GitLab的正确基本网址为https://gitlab.com/api/v4/,因此您的请求为 GET /projects将是

curl --header "PRIVATE-TOKEN: XXXXXX" "https://gitlab.com/api/v4/projects"

此外,项目ID与项目名称不同。您可以从请求的响应中检索项目ID GET /projects

答案 1 :(得分:1)

https://docs.gitlab.com/ee/api/#basic-usage

尝试以下命令:curl“ https://gitlab.example.com/api/v4/projects” 按照文件中的

如果您使用的是Gitlab版本3 然后使用 curl --header“授权:承载OAUTH-TOKEN” https://gitlab.example.com/api/v3/projects

还有一个“ python-gitlab”模块,可帮助您轻松地从Project-name获取ID https://python-gitlab.readthedocs.io/en/stable/

答案 2 :(得分:1)

对我来说,以下请求有效:

curl --header "PRIVATE-TOKEN: YOUR_TOKEN" "https://gitlab.com/api/v4/users/YOUR_USER_ID/projects" 

不知道为什么请求curl --header "PRIVATE-TOKEN: PRIVATE_TOKEN" "https://gitlab.com/api/v4/projects/"返回了包含其他一些公共项目的列表。

另一个有用的用户信息请求:curl --header "PRIVATE-TOKEN: PRIVATE_TOKEN" "https://gitlab.com/api/v4/user/"