60

我必须发送很多拉取请求,所以我宁愿使用 bash 命令行而不是 bitbucket 的 Web 界面。

使用示例:$ git-req username

这是 Github 的这样一个脚本:http: //pastebin.com/F9n3nPuu

Bitbucket 有吗?

4

5 回答 5

57

带有 RESTful API 2.0的 Bitbucket 支持在没有接口的情况下管理拉取请求。在 CLI 中,您可以使用 CURL 请求它。这个旧版本的文档有更好的界面细节。

使用 CURL 获取拉取请求数据

要获取有关特定拉取请求的完整数据:

$ curl --user s3m3n:bbpassword https://bitbucket.org/api/2.0/repositories/s3m3n/reponame/pullrequests/4

作为回报,我得到 JSON 以及关于我的 pull request #4 的完整信息(在命令中输入两次用户名、密码和 reponame)。

使用 RESTClient 创建新的拉取请求

要创建新的拉取请求,我们需要使用 POST 命令提供大量数据,如下所示:

REST客户端火狐

触发 Bitbucket 后立即显示拉取请求:

位桶截图

使用 CURL 创建新的拉取请求

您仍然可以使用一个衬垫创建相同的拉取请求:

$ curl -X POST -H "Content-Type: application/json" -u s3m3n:bbpassword https://bitbucket.org/api/2.0/repositories/s3m3n/reponame/pullrequests -d '{ "title": "Merge some branches", "description": "stackoverflow example", "source": { "branch": { "name": "choose branch to merge with" }, "repository": { "full_name": "s3m3n/reponame" } }, "destination": { "branch": { "name": "choose branch that is getting changes" } }, "reviewers": [ { "username": "some other user needed to review changes" } ], "close_source_branch": false }'

REST 浏览器工具(停产)

如果你想测试所有可能的 API 跳转到Bitbucket的REST 浏览器工具的方法。它会在返回您的真实回购数据时向您显示所有可能的请求。

于 2013-12-17T18:51:37.103 回答
10

久经考验:

  1. 单击此处生成个人访问令牌

  2. 保存唯一令牌 ID,将其附加在“Bearer in header”之后。

例如:“授权:承载 MDg4MzA4NTcfhtrhthyt/Thyythyh”

在此处完成 JSON 示例:

步骤 1 输入详细信息和必要的标题

  1. 尝试运行 第 2 步

  2. 在 BitBucket 上输出,您将能够看到 pull request 最终输出

命令行语法:

curl -i -X POST    -H "Authorization:Bearer MDg4MzA4NTk/TlMSS6Ea"    -H "X-Atlassian-Token:no-check"    -H "Content-Type:application/json"    -d '{"description":"1. Changes made 2. Changes made 3. Hello hanges","closed":false,"fromRef":{"id":"refs\/heads\/branch","repository":{"name":"From Repository ","project":{"key":"ProjectName"},"slug":"From Repository "}},"state":"OPEN","title":"Merge changes from branch to master","locked":false,"reviewers":[],"open":true,"toRef":{"id":"refs\/heads\/master","repository":{"name":"RepoName","project":{"key":"ProjectName"},"slug":"RepoName"}}}'  'https://bitbucket.agile.com/rest/api/1.0/projects/projectName/repos/repoName/pull-requests'
于 2018-11-30T20:17:31.207 回答
9

bitbucket 上有 2 个 repos 可以提供帮助:

Attlassian 团队有 stash (ruby):https ://bitbucket.org/atlassian/bitbucket-server-cli

哲猫有bitbucket-cli(python):https ://bitbucket.org/zhemao/bitbucket-cli

两者都具有来自命令行的拉取请求功能。

于 2013-02-23T23:29:31.500 回答
8

我对这个线程中的答案不太满意,所以我为它创建了一个包:

https://www.npmjs.com/package/bitbucket-pr

指示:

npm i -g bitbucket-pr

...转到您要创建拉取请求的文件夹...

bitbucket-pr

于 2018-02-16T13:15:10.320 回答
2

我创建了一个 pull request cli 实用程序来简化我的任务。

目前,

  • 它可以从终端创建/删除 pr 的权利
  • 显示提升 PR 的基本差异

我已经用 bitbucket 企业版 6.10.10 对其进行了测试

源代码:https ://github.com/psadi/bbcli

于 2022-01-20T14:39:45.143 回答