如何使用Bitbucket REST API创建分支

时间:2017-04-26 07:46:22

标签: git bitbucket postman bitbucket-api

如何使用REST API在Bitbucket存储库中创建新分支?

我正在使用Postman客户端。

4 个答案:

答案 0 :(得分:3)

我将向您展示如何使用邮递员和编程方式在Bitbucket中创建分支。

使用邮递员

选择方法类型为POST

添加网址:https://example.com/git/rest/api/1.0/projects/{projectKey}/repos/{repoName}/branches

将授权添加到基本身份验证。

Username and password.

选择正文为raw

选择JSON(application/json)

将其作为JSON

添加到正文中
{
    "name": "feature/my-feature-branch",
    "startPoint": "refs/heads/master"
}

点击发送

现在以编程方式相同

String authToken = "xyzxyzabcabcabcxyzxyzabcabcabcxyzxyzabcabcabc";

 public boolean createBranchProgrammatically(String projectKey, String repoName, String branchPrefix,String branchName,
            String headStart) {
        Map branches = new HashMap();
        JSONObject json = new JSONObject();
            try {
                String branch = branchPrefix + "/" + branchName;
                json.put("name", branch);
                json.put("startPoint", headStart);
                branches = restTemplate.exchange(myBitbuketUrl + "git/rest/api/1.0/projects/"
                        + projectKey + "repos" + repoName + "/branches",
                        HttpMethod.POST, postRequestEntityForBitbuket(json.toString()), Map.class).getBody();

                break;
            } catch (RestClientException e) {
                logger.error("Branches could not be created from bitbucket for "  , e);            

                return false;
            }

            } 
        return true;
    }



public HttpEntity<String> postRequestEntityForBitbuket(String jsonAsString) {

        HttpHeaders headers = new HttpHeaders();
        headers.add("Authorization", "Basic " + authToken);
        headers.add("content-type", "application/json");

        return new HttpEntity<String>(jsonAsString, headers) ;
    }

答案 1 :(得分:2)

通过卷曲

curl -u name:password -H "Content-Type:application/json" https://SERVER_ADDRESS/rest/api/1.0/projects/INF1/repos/mariaivanovatest/branches -X POST --data '{"name": "new_branch","startPoint": "refs/heads/master"}'

或者如果您有json文件,例如test.json

curl -u name:password -H "Content-Type:application/json" https://SERVER_ADDRESS/rest/api/1.0/projects/INF1/repos/mariaivanovatest/branches -X POST --data @test.json

答案 2 :(得分:1)

您可以/rest/branch-utils/1.0/projects/{projectKey}/repos/{repositorySlug}/branches在特定仓库中创建分支。请查看此document以获取更多信息。

答案 3 :(得分:0)

我认为萨利赫所分享的是藏匿而不是bitbucket。

就这个问题而言,bitbucket还不支持创建分支的API

https://bitbucket.org/site/master/issues/12295/add-support-to-create-delete-branch-via