如何通过命令行在Bitbucket中创建拉取请求

时间:2019-02-26 09:37:27

标签: command-line bitbucket pull-request

在Bitbucket中创建新的请求请求的命令是什么。

我正在将签入代码自动化到Bitbucket并创建请求请求。

我参考了许多文档,并找到curl命令。但是它也不起作用,我也不知道该命令中每个模块的用途。

请参阅下面我尝试过的命令。

curl -u username:Password -H "Content-Type: application/jso https://bitbucket.server.com/rest/api/1.0/projects/myProject/repos/myRepo/pull-requests -X POST --data @req.json

创建了req.json文件,并将内容复制到文件 请参阅我复制的以下内容。

{"title":"test","description":"test","fromRef":{"id":"refs/heads/del","repository":{"slug":"BB_repo","name":null}},"toRef":{"id":"refs/heads/master","repository":{"slug":"BB_repo","name":null}}}

有人可以建议我创建请求请求的更好方法吗?我需要一些说明,因为我是Bitbucket的新手

1 个答案:

答案 0 :(得分:0)

使用bitbucket个人访问令牌,您可以创建别名或将其改编成脚本。

全局配置

[bitbucket]
        url = https://bitbucket.<domain>/rest/api/latest/projects/<proj>/repos/<repo>/pull-requests
        token = <Enter PAT Here>
[alias "pr"]
        m = "!f() { B=$(git branch-name);D=$(git pr.data $B master);U=$(git config --get bitbucket.url);J=$(git pr.json);T=$(git pr.token);C=$(echo curl -X POST $U -H $T -H $J -d $D;); eval $C; }; f"
        d = "!f() { B=$(git branch-name);D=$(git pr.data $B develop);U=$(git config --get bitbucket.url);J=$(git pr.json);T=$(git pr.token);C=$(echo curl -X POST $U -H $T -H $J -d $D;); eval $C; }; f"
        json = "!echo '\"Content-Type: application/json\"'"
        token = "!echo '\"Authorization: Bearer '$(git config --get bitbucket.token)'\"'"
        data = !sh -c 'echo -e \"\\x27{\\\"title\\\":\\\"$1 - $2\\\",\\\"fromRef\\\":{\\\"id\\\":\\\"refs/heads/$1\\\"},\\\"toRef\\\":{\\\"id\\\":\\\"refs/heads/$2\\\"""}}\\x27\"' -
[alias]
        branch-name = !git rev-parse --abbrev-ref HEAD

用法:

git pr.m
git pr.d