Python (SDK)
from meetkai_mka1 import SDK
with SDK(
bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
) as sdk:
res = sdk.sandbox.github.clone_repository(session_id="<id>", assignment_generation=817415, repository_id=33412, owner="<value>", repository="<value>", base_sha="<value>")
# Handle response
print(res)import { SDK } from "@meetkai/mka1";
const sdk = new SDK({
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
const result = await sdk.sandbox.github.cloneRepository({
sessionId: "<id>",
gitHubReadCloneRequest: {
assignmentGeneration: 817415,
repositoryId: 33412,
owner: "<value>",
repository: "<value>",
baseSha: "<value>",
},
});
console.log(result);
}
run();using MeetKai.MKA1;
using MeetKai.MKA1.Types.Components;
var sdk = new SDK(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
var res = await sdk.Sandbox.Github.CloneRepositoryAsync(
sessionId: "<id>",
body: new GitHubReadCloneRequest() {
AssignmentGeneration = 817415,
RepositoryId = 33412,
Owner = "<value>",
Repository = "<value>",
BaseSha = "<value>",
}
);
// handle responsecurl --request POST \
--url https://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"assignment_generation": 2,
"repository_id": 123,
"owner": "<string>",
"repository": "<string>",
"base_sha": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
assignment_generation: 2,
repository_id: 123,
owner: '<string>',
repository: '<string>',
base_sha: '<string>'
})
};
fetch('https://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone', 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://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone",
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([
'assignment_generation' => 2,
'repository_id' => 123,
'owner' => '<string>',
'repository' => '<string>',
'base_sha' => '<string>'
]),
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://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone"
payload := strings.NewReader("{\n \"assignment_generation\": 2,\n \"repository_id\": 123,\n \"owner\": \"<string>\",\n \"repository\": \"<string>\",\n \"base_sha\": \"<string>\"\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://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"assignment_generation\": 2,\n \"repository_id\": 123,\n \"owner\": \"<string>\",\n \"repository\": \"<string>\",\n \"base_sha\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone")
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 \"assignment_generation\": 2,\n \"repository_id\": 123,\n \"owner\": \"<string>\",\n \"repository\": \"<string>\",\n \"base_sha\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"session_id": "<string>",
"assignment_generation": 123,
"repository_id": 123,
"owner": "<string>",
"repository": "<string>",
"base_sha": "<string>",
"checkout_path": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Sandbox GitHub
Clonar repositorio de GitHub en la sesión
Clona un repositorio conectado en base_sha en el espacio de trabajo de la sesión usando la conexión de GitHub del llamador. El host del sandbox ejecuta la clonación, por lo que el token nunca entra en la sesión.
POST
/
api
/
v1
/
sandbox
/
sessions
/
{session_id}
/
github
/
read-clone
Python (SDK)
from meetkai_mka1 import SDK
with SDK(
bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
) as sdk:
res = sdk.sandbox.github.clone_repository(session_id="<id>", assignment_generation=817415, repository_id=33412, owner="<value>", repository="<value>", base_sha="<value>")
# Handle response
print(res)import { SDK } from "@meetkai/mka1";
const sdk = new SDK({
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
const result = await sdk.sandbox.github.cloneRepository({
sessionId: "<id>",
gitHubReadCloneRequest: {
assignmentGeneration: 817415,
repositoryId: 33412,
owner: "<value>",
repository: "<value>",
baseSha: "<value>",
},
});
console.log(result);
}
run();using MeetKai.MKA1;
using MeetKai.MKA1.Types.Components;
var sdk = new SDK(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
var res = await sdk.Sandbox.Github.CloneRepositoryAsync(
sessionId: "<id>",
body: new GitHubReadCloneRequest() {
AssignmentGeneration = 817415,
RepositoryId = 33412,
Owner = "<value>",
Repository = "<value>",
BaseSha = "<value>",
}
);
// handle responsecurl --request POST \
--url https://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"assignment_generation": 2,
"repository_id": 123,
"owner": "<string>",
"repository": "<string>",
"base_sha": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
assignment_generation: 2,
repository_id: 123,
owner: '<string>',
repository: '<string>',
base_sha: '<string>'
})
};
fetch('https://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone', 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://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone",
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([
'assignment_generation' => 2,
'repository_id' => 123,
'owner' => '<string>',
'repository' => '<string>',
'base_sha' => '<string>'
]),
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://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone"
payload := strings.NewReader("{\n \"assignment_generation\": 2,\n \"repository_id\": 123,\n \"owner\": \"<string>\",\n \"repository\": \"<string>\",\n \"base_sha\": \"<string>\"\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://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"assignment_generation\": 2,\n \"repository_id\": 123,\n \"owner\": \"<string>\",\n \"repository\": \"<string>\",\n \"base_sha\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apigw.mka1.com/api/v1/sandbox/sessions/{session_id}/github/read-clone")
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 \"assignment_generation\": 2,\n \"repository_id\": 123,\n \"owner\": \"<string>\",\n \"repository\": \"<string>\",\n \"base_sha\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"session_id": "<string>",
"assignment_generation": 123,
"repository_id": 123,
"owner": "<string>",
"repository": "<string>",
"base_sha": "<string>",
"checkout_path": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Autorizaciones
Gateway auth: send Authorization: Bearer <mka1-api-key>. For multi-user server-side integrations, you can also send X-On-Behalf-Of: <external-user-id>.
Encabezados
Optional external end-user identifier forwarded by the API gateway.
Parámetros de ruta
Cuerpo
application/json
Solicitud de operación pública. Deliberadamente no tiene campo de credencial ni de ruta.
¿Esta página le ayudó?
⌘I