Get merge preview
curl --request GET \
--url https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview', 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-preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"canMerge": true,
"isUpToDate": true,
"needsRebase": true,
"changes": [
{
"file": "<unknown>",
"from": "<unknown>",
"to": "<unknown>"
}
],
"conflicts": [
{
"path": "<string>",
"base": "<unknown>",
"ours": "<unknown>",
"theirs": "<unknown>",
"modified": "<unknown>"
}
],
"stats": {
"filesAdded": 123,
"filesDeleted": 123,
"filesModified": 123,
"totalChanges": 123,
"filesRenamed": 123
},
"message": "<string>"
}Branches
Get merge preview
Previews the result of merging a branch into main, including any conflicts.
GET
/
api
/
projects
/
{projectId}
/
branches
/
{branchId}
/
merge-preview
Get merge preview
curl --request GET \
--url https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview', 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-preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/projects/{projectId}/branches/{branchId}/merge-preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"canMerge": true,
"isUpToDate": true,
"needsRebase": true,
"changes": [
{
"file": "<unknown>",
"from": "<unknown>",
"to": "<unknown>"
}
],
"conflicts": [
{
"path": "<string>",
"base": "<unknown>",
"ours": "<unknown>",
"theirs": "<unknown>",
"modified": "<unknown>"
}
],
"stats": {
"filesAdded": 123,
"filesDeleted": 123,
"filesModified": 123,
"totalChanges": 123,
"filesRenamed": 123
},
"message": "<string>"
}Authorizations
personalAccessTokeninternalAuth
Personal access token is obtained through your profile
Path Parameters
Project ID
Branch ID or "main" for the default branch
Response
200 - application/json
Merge preview result
Merge preview result
Whether the branch can be merged without conflicts
Whether the branch is up to date with main
Whether the branch needs to be rebased
List of file changes that would result from merge
Show child attributes
Show child attributes
List of merge conflicts
Show child attributes
Show child attributes
Change statistics
Show child attributes
Show child attributes
Human-readable merge status message
Was this page helpful?
⌘I