如何通过 CLI 向 Bitbucket 提交拉取请求?

通过 CLI 执行 git pull 请求的最简单方法是什么。我厌倦了一直去 Bitbucket 手动创建拉取请求。这确实很简单:

  1. 拉取请求选项卡
  2. 创建拉取请求
  3. 选择来源和命运分支(编辑评论、审阅者等)
  4. 确认

很简单。如何通过 cli 实现这种行为?假设,在我团队的存储库中,我想执行从 developmaster 分支的 PR。

我一直在检查 documentation ,它似乎并不那么明显。它要求我选择一个开始提交,并且在我之前描述的步骤中,我什至没有机会选择 PR 应该从哪个提交开始。

stack overflow How to submit pull request via CLI to Bitbucket?
原文答案

答案:

作者头像

您可以在 curl 上使用像 bitbucket rest api 这样的命令行工具。如何使用 HTTP POST is documented here 创建拉取请求。

试试看:

 curl  
 -X POST 
 -H "Content-Type: application/json" 
 -u username:password 
  https://bitbucket.org/api/2.0/repositories/account/reponame/pullrequests 
 -d @pullrequest.json

文件 pullrequest.json 包含

 { 
     "title": "Merge some branches", 
     "description": "stackoverflow example",
     "source": { 
         "branch": { 
            "name": "mybranchToMerge" 
          }, 
          "repository": { 
            "full_name": "account/reponame" 
          } 
     }, 
     "destination": { 
         "branch": { 
             "name": "master" 
          } 
      }, 
      "reviewers": [ { "username": "reviewerUsername" } ], 
      "close_source_branch": false 
}

更多选项请看这里:

Bitbucket: Send a pull request via command line?

更多关于 git request-pull 的信息可以在这里找到:

Difference between 'git request-pull' and 'pull request'

作者头像

您的问题的答案可能令人失望,因为 Pull Requests 不是 git 的原生功能,CLI 或任何其他标准 git 工具不支持它们。此外,即使在标准 Pull Requests 之外,也没有用于 git 的标准协议。每个平台( GitLabGitHub 等)都提供了自己的 Pull Requests 风格。

由于您的问题通常是关于 Pull Requests 而不是关于特定提供商的 Pull Requests ,因此答案是无法完成。

作者头像

If you are using bitbucket enterprise, i prepared a script to create/delete pull requests - https://github.com/psadi/bbcli.

It also handles adding of default reviewers automatically to your PR which is configured in your repo settings.