[英]How to access GitLab issues using CURL?
我想获得项目YYYYYY
和用户名XXXXXX
的问题列表。
curl --header "PRIVATE-TOKEN: myownprivatetoken" "https://gitlab.com/api/v3/projects/YYYYYY/issues"
curl --header "PRIVATE-TOKEN: myownprivatetoken" --header "SUDO: XXXXXX" "https://gitlab.com/api/v3/projects/YYYYYY/issues"
curl --header "PRIVATE-TOKEN: myownprivatetoken" "https://gitlab.com/api/v3/XXXXXX/projects/YYYYYY/issues"
但他们只返回:
{"message":"404 Project Not Found"}
或者
<html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html>
在我看来,我误解了http://doc.gitlab.com/ce/api/issues.html和http://doc.gitlab.com/ce/api/README.html 上的 API 文档。
那么我做错了什么?
该文档告诉您有关如何从项目中检索问题的信息:
GET /projects/:id/issues
你试过:
curl --header "PRIVATE-TOKEN: xxx" "https://gitlab.com/api/v3/projects/YYYYYY/issues"
这是正确的,但是您给YYYYYY
提供的参数必须是项目 id ,因此它必须是整数,而不是带有项目名称或路径的文本。 你需要使用类似的东西:
curl --header "PRIVATE-TOKEN: xxx" "https://gitlab.com/api/v3/projects/234/issues"
其中234
是您项目的 ID。 要获得项目的这个整数 id,只需执行以下操作:
curl --header "PRIVATE-TOKEN: xxx" "https://gitlab.com/api/v3/projects
这将列出您的所有项目,并在id
字段中为您提供项目的唯一整数标识符:
[
{
"id": 4, <-------- //This one
"name": "my super mega project",
"description": null,
.....
由于 GitLab v11.x,/api/v3 返回错误"API V3 is no longer supported. Use API V4 instead."
从 v11 和 v12 版本开始,这有效:
curl --header 'PRIVATE-TOKEN: mySecret' https://gitlab.com/api/v4/projects
/2/merge_requests
解析输出(我推荐jq
):
[
{
"id": 2, <-------------- use this number below
"name": "Duke Nukem 3D",
进而:
curl --header 'PRIVATE-TOKEN: mySecret' https://gitlab.com/api/v4/projects/2/issues
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.