Merge branch
curl --request POST \
--url https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"message": "<string>",
"resolutions": []
}
'import requests
url = "https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge"
payload = {
"message": "<string>",
"resolutions": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({message: '<string>', resolutions: []})
};
fetch('https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'message' => '<string>',
'resolutions' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge"
payload := strings.NewReader("{\n \"message\": \"<string>\",\n \"resolutions\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"<string>\",\n \"resolutions\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"message\": \"<string>\",\n \"resolutions\": []\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"requiresApproval": true,
"message": "<string>",
"changeRequestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mergeCommitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"changes": [
{
"file": "<unknown>",
"from": "<unknown>",
"to": "<unknown>"
}
],
"stats": {
"filesAdded": 123,
"filesDeleted": 123,
"filesModified": 123,
"totalChanges": 123,
"filesRenamed": 123
}
}Branches
Merge branch
Merges a branch into main, or creates a change request if approval is required.
POST
/
api
/
projects
/
{projectId}
/
branches
/
{branchId}
/
merge
Merge branch
curl --request POST \
--url https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"message": "<string>",
"resolutions": []
}
'import requests
url = "https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge"
payload = {
"message": "<string>",
"resolutions": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({message: '<string>', resolutions: []})
};
fetch('https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'message' => '<string>',
'resolutions' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge"
payload := strings.NewReader("{\n \"message\": \"<string>\",\n \"resolutions\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"<string>\",\n \"resolutions\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"message\": \"<string>\",\n \"resolutions\": []\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"requiresApproval": true,
"message": "<string>",
"changeRequestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mergeCommitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"changes": [
{
"file": "<unknown>",
"from": "<unknown>",
"to": "<unknown>"
}
],
"stats": {
"filesAdded": 123,
"filesDeleted": 123,
"filesModified": 123,
"totalChanges": 123,
"filesRenamed": 123
}
}Authorizations
personalAccessTokeninternalAuth
Personal access token is obtained through your profile
Path Parameters
Project ID
Branch ID or "main" for the default branch
Body
application/json
Response
200 - application/json
Merge result
Merge result
Whether the operation was successful
Whether approval is required for the merge
Human-readable result message
ID of created change request
ID of the merge commit
List of merged changes
Show child attributes
Show child attributes
Change statistics
Show child attributes
Show child attributes
Was this page helpful?
⌘I