Linux gitlab API-如何从问题创建分支

Linux gitlab API-如何从问题创建分支,linux,gitlab,gitlab-api,Linux,Gitlab,Gitlab Api,在git lab中,您可以创建一个问题,然后在该问题中创建一个分支。此分支与问题相链接(我认为是因为分支名称开头的问题编号),因此当您对该分支执行合并请求时,它会自动关闭问题 所以我的问题是-如何通过API实现这一点?我可以创建问题,但在问题API中没有创建相关分支的控件(据我所知) 可能吗 如果能够一次性创建一个分支问题就好了,但我认为这是不可能的?好吧,这也许不是最好的答案,但下面是我提出的临时解决方案(在linux bash中): 在cmd\u resp 提取问题ID:echo$cmd_r

在git lab中,您可以创建一个问题,然后在该问题中创建一个分支。此分支与问题相链接(我认为是因为分支名称开头的问题编号),因此当您对该分支执行合并请求时,它会自动关闭问题

所以我的问题是-如何通过API实现这一点?我可以创建问题,但在问题API中没有创建相关分支的控件(据我所知)

可能吗


如果能够一次性创建一个分支问题就好了,但我认为这是不可能的?

好吧,这也许不是最好的答案,但下面是我提出的临时解决方案(在linux bash中):

  • cmd\u resp

  • 提取问题ID:
    echo$cmd_resp | grep-o-P'(?

    无法通过问题API创建与问题相关的分支

    但是,这与RESTful API的设计方式是一致的。如果您想创建分支,需要向分支API发出POST请求

    POST /projects/:id/repository/branches
    
    正如您已经发现的,GitLab非常擅长将问题、MRs和分支自动链接在一起。 对于要链接到问题的分支机构,只需使用问题ID启动分支机构。但是,如果合并请求链接到问题,通常就足够了。在我看来,您不应该真正关心分支机构。您可以稍后通过问题->MR->分支机构访问分支机构

    只要MR的描述文本链接到问题(例如#1),合并请求就会链接到问题。如果您在Closes语句中添加问题ID,则问题也会在MR解决后关闭

    因此,您只需通过API创建一个分支,然后根据该问题创建一个MR,并在MR描述中包含
    Closes\1
    ,其中1是您的问题ID


    此外,我建议使用更复杂的REST客户端。您不必自己解析问题ID。它被正确地设置为JSON响应中的一个字段。

    感谢通过MR的方法/方法-这听起来不错+1(答案是我不能从问题中解析)。但我只想提出一个与链接的分支相关的问题。原因是有一个特殊的案例,否则我的gitlab IDE已经为我完成了所有的工作。我的用例是,我有一大堆项目,所有这些项目都相互通信,因此我必须在它们上创建问题分支对,并且一个接一个地创建问题分支对会变得很乏味所以我写了一个脚本通过gitlab API来实现,这为我节省了很多时间!谢谢你的反馈,很高兴你找到了让它为你工作的方法!