【问题标题】:How to create different projects within a group in Gitlab如何在 Gitlab 中的组内创建不同的项目
【发布时间】: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


【解决方案1】:

您在 API 中查找的属性是 namespace_id,应该是您希望在其中创建项目的组的 ID。如果您想创建一个嵌套组结构,您创建的每个组都可以接受一个parent_id,它应该是其父组的 ID。

【讨论】:

    猜你喜欢
    • 2021-01-12
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多