【发布时间】:2021-09-28 11:51:12
【问题描述】:
我想使用我机器上的终端在“组”中创建一个项目列表。该组是私有的,我假设我需要一个个人访问令牌才能访问它。
我在 Gitlab API 中看到我应该为此使用 POST 命令:https://docs.gitlab.com/ee/api/projects.html#create-project。但我看不到如何指定我想要创建它的组。使用这个问题:How do you create a project in a specific group via GitLab API?,我可以写命令:
curl --header "PRIVATE-TOKEN: my-personal-access token" -X POST "https://gitlab.com/api/v4/projects?name=mylaboratory%2Fgroupname%2Fproject name"
之后我得到:
{"message":{"name":["can contain only letters, digits, emojis, '_', '.', dash, space. It must start with letter, digit, emoji or '_'."],"path":["can contain only letters, digits, '_', '-' and '.'. Cannot start with '-', end in '.git' or end in '.atom'"]}}
这是我的示例网址:
https://gitlab.eth.ch/api/v4/projects?path=lasec%2Fstudent-repos-cs372-2021%2Fgroup31
有没有办法指定这些新项目应该禁用重写提交历史?
试试 1
修复了将 .com 更改为相关扩展名的问题。
试试 2
从另一台计算机上,错误 curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1) 消失,这可能与 cmets 中指出的连接有关。
试试 3
【问题讨论】:
-
由于您指定了访问令牌但仍然获得
401 Unauthorized,这意味着您使用其令牌的用户无权访问您尝试将项目添加到的组. 401 可能意味着您根本没有进行身份验证(但您正在传递令牌,所以这不是问题)或者您无权访问您正在操作的资源。 -
@AdamMarshall 你是对的,事实上我为 .com 使用了不同的域,这就是我得到 401 Unauthorized 的原因。我更新了我的问题,因为即使在解决了这个问题之后,我也得到了另一个错误。
-
尝试将
--http1.1添加到您的 curl 命令中。 -
@AdamMarshall 确实似乎连接有问题。从家里它可以工作。但是,它一直在抱怨语法,在我看来这很好。
标签: gitlab