Open a pull request in a connected repository
curl --request POST \
--url https://api.cekura.ai/github/open-pr/ \
--header 'Content-Type: application/json' \
--header 'X-CEKURA-API-KEY: <api-key>' \
--data '
{
"repo": "<string>",
"title": "<string>",
"files": [
{
"path": "<string>",
"content": "<string>"
}
],
"body": "",
"base": "<string>"
}
'import requests
url = "https://api.cekura.ai/github/open-pr/"
payload = {
"repo": "<string>",
"title": "<string>",
"files": [
{
"path": "<string>",
"content": "<string>"
}
],
"body": "",
"base": "<string>"
}
headers = {
"X-CEKURA-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-CEKURA-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
repo: '<string>',
title: '<string>',
files: [{path: '<string>', content: '<string>'}],
body: JSON.stringify(''),
base: '<string>'
})
};
fetch('https://api.cekura.ai/github/open-pr/', 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.cekura.ai/github/open-pr/",
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([
'repo' => '<string>',
'title' => '<string>',
'files' => [
[
'path' => '<string>',
'content' => '<string>'
]
],
'body' => '',
'base' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-CEKURA-API-KEY: <api-key>"
],
]);
$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.cekura.ai/github/open-pr/"
payload := strings.NewReader("{\n \"repo\": \"<string>\",\n \"title\": \"<string>\",\n \"files\": [\n {\n \"path\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"body\": \"\",\n \"base\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-CEKURA-API-KEY", "<api-key>")
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.cekura.ai/github/open-pr/")
.header("X-CEKURA-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"repo\": \"<string>\",\n \"title\": \"<string>\",\n \"files\": [\n {\n \"path\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"body\": \"\",\n \"base\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/github/open-pr/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-CEKURA-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"repo\": \"<string>\",\n \"title\": \"<string>\",\n \"files\": [\n {\n \"path\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"body\": \"\",\n \"base\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyOthers
Open GitHub Pull Request
Create a new branch and open a pull request containing the submitted file changes. Requires an authenticated Cekura agent session, and the repository must be available through the organization’s active GitHub connection. Direct writes to the default branch are not permitted, and repository access is verified for every request.
POST
/
github
/
open-pr
/
Open a pull request in a connected repository
curl --request POST \
--url https://api.cekura.ai/github/open-pr/ \
--header 'Content-Type: application/json' \
--header 'X-CEKURA-API-KEY: <api-key>' \
--data '
{
"repo": "<string>",
"title": "<string>",
"files": [
{
"path": "<string>",
"content": "<string>"
}
],
"body": "",
"base": "<string>"
}
'import requests
url = "https://api.cekura.ai/github/open-pr/"
payload = {
"repo": "<string>",
"title": "<string>",
"files": [
{
"path": "<string>",
"content": "<string>"
}
],
"body": "",
"base": "<string>"
}
headers = {
"X-CEKURA-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-CEKURA-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
repo: '<string>',
title: '<string>',
files: [{path: '<string>', content: '<string>'}],
body: JSON.stringify(''),
base: '<string>'
})
};
fetch('https://api.cekura.ai/github/open-pr/', 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.cekura.ai/github/open-pr/",
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([
'repo' => '<string>',
'title' => '<string>',
'files' => [
[
'path' => '<string>',
'content' => '<string>'
]
],
'body' => '',
'base' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-CEKURA-API-KEY: <api-key>"
],
]);
$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.cekura.ai/github/open-pr/"
payload := strings.NewReader("{\n \"repo\": \"<string>\",\n \"title\": \"<string>\",\n \"files\": [\n {\n \"path\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"body\": \"\",\n \"base\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-CEKURA-API-KEY", "<api-key>")
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.cekura.ai/github/open-pr/")
.header("X-CEKURA-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"repo\": \"<string>\",\n \"title\": \"<string>\",\n \"files\": [\n {\n \"path\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"body\": \"\",\n \"base\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/github/open-pr/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-CEKURA-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"repo\": \"<string>\",\n \"title\": \"<string>\",\n \"files\": [\n {\n \"path\": \"<string>\",\n \"content\": \"<string>\"\n }\n ],\n \"body\": \"\",\n \"base\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
API Key Authentication. It should be included in the header of each request.
Body
application/jsonapplication/x-www-form-urlencodedmultipart/form-data
Short repository name to open the PR against.
Pull request title (also the commit message).
Files to create, update, or delete.
Show child attributes
Show child attributes
Base branch to target; defaults to the repo's default branch.
Response
Pull request created on a new branch.
⌘I