首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未使用gitlab api在合并请求中提交提交

未使用gitlab api在合并请求中提交提交
EN

Stack Overflow用户
提问于 2021-03-12 18:47:12
回答 1查看 84关注 0票数 0

根据GITLAB API文档,我希望在单个分支上创建多个提交,然后在bash脚本中创建一个合并请求。

代码语言:javascript
复制
   curl -i --request POST --header "PRIVATE-TOKEN: privatekey" --header "Content-Type: application/json" --data "$PAYLOAD" "https://hostgit/api/v4/projects/1234/repository/commits"

和关于有效负载

代码语言:javascript
复制
    PAYLOAD=$(cat << JSON 
{
  "branch": "mybranch",
  "commit_message": "some commit message",
  "actions": [
    {
      "action": "update",
      "file_path": "roles/test.j2"
    },
     {
          "action": "update",
      "file_path": "roles/prod.j2"
      }
  ]
}
JSON
)

脚本更新文件,因此在此提交后,我使用了create MR,但它是一个空的MR.why,它是空的??提交更改为0。此外,我在操作中使用了一个文件路径的内容,但它不起作用,提交仍然为空。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-13 00:11:10

对于update操作,您必须指定文件的内容,它应该是整个文件内容,而不仅仅是更新的部分。Gitlab随后将生成diff并正确提交更改。您需要更新您的有效负载,使其看起来类似于:

代码语言:javascript
复制
PAYLOAD=$(cat << JSON
{
  "branch": "mybranch",
  "commit_message": "some commit message",
  "actions": [
    {
      "action": "update",
      "file_path": "roles/test.j2",
      "content": "this is the entire content in the test.j2 file after updating it"
    },
    {
      "action": "update",
      "file_path": "roles/prod.j2",
      "content": "This is the entire content in the prod.j2 file after updating it"
    }
  ]
}
JSON
)

您可以在the docs中查看所有可选和必需的参数。]

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66598470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档