Clona repository
curl --request POST \
--url https://api.devin.ai/v2/enterprise/organizations/{org_id}/clone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"repo_path": "<string>",
"pull_repo_commands": [
"<string>"
],
"repo_note": "<string>",
"run_lint_commands": [
"<string>"
],
"run_project_commands": [
"<string>"
],
"run_tests_commands": [
"<string>"
],
"update_dependencies_commands": [
"<string>"
]
}
'import requests
url = "https://api.devin.ai/v2/enterprise/organizations/{org_id}/clone"
payload = {
"repo_path": "<string>",
"pull_repo_commands": ["<string>"],
"repo_note": "<string>",
"run_lint_commands": ["<string>"],
"run_project_commands": ["<string>"],
"run_tests_commands": ["<string>"],
"update_dependencies_commands": ["<string>"]
}
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({
repo_path: '<string>',
pull_repo_commands: ['<string>'],
repo_note: '<string>',
run_lint_commands: ['<string>'],
run_project_commands: ['<string>'],
run_tests_commands: ['<string>'],
update_dependencies_commands: ['<string>']
})
};
fetch('https://api.devin.ai/v2/enterprise/organizations/{org_id}/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://api.devin.ai/v2/enterprise/organizations/{org_id}/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([
'repo_path' => '<string>',
'pull_repo_commands' => [
'<string>'
],
'repo_note' => '<string>',
'run_lint_commands' => [
'<string>'
],
'run_project_commands' => [
'<string>'
],
'run_tests_commands' => [
'<string>'
],
'update_dependencies_commands' => [
'<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://api.devin.ai/v2/enterprise/organizations/{org_id}/clone"
payload := strings.NewReader("{\n \"repo_path\": \"<string>\",\n \"pull_repo_commands\": [\n \"<string>\"\n ],\n \"repo_note\": \"<string>\",\n \"run_lint_commands\": [\n \"<string>\"\n ],\n \"run_project_commands\": [\n \"<string>\"\n ],\n \"run_tests_commands\": [\n \"<string>\"\n ],\n \"update_dependencies_commands\": [\n \"<string>\"\n ]\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.devin.ai/v2/enterprise/organizations/{org_id}/clone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"repo_path\": \"<string>\",\n \"pull_repo_commands\": [\n \"<string>\"\n ],\n \"repo_note\": \"<string>\",\n \"run_lint_commands\": [\n \"<string>\"\n ],\n \"run_project_commands\": [\n \"<string>\"\n ],\n \"run_tests_commands\": [\n \"<string>\"\n ],\n \"update_dependencies_commands\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v2/enterprise/organizations/{org_id}/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 \"repo_path\": \"<string>\",\n \"pull_repo_commands\": [\n \"<string>\"\n ],\n \"repo_note\": \"<string>\",\n \"run_lint_commands\": [\n \"<string>\"\n ],\n \"run_project_commands\": [\n \"<string>\"\n ],\n \"run_tests_commands\": [\n \"<string>\"\n ],\n \"update_dependencies_commands\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"org_id": "<string>",
"snapshot_id": "<string>",
"status": "<string>",
"ami_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Gestione dei repository
Clonare un repository in un'organizzazione
Clonare un repository in uno snapshot dell’organizzazione
POST
/
v2
/
enterprise
/
organizations
/
{org_id}
/
clone
Clona repository
curl --request POST \
--url https://api.devin.ai/v2/enterprise/organizations/{org_id}/clone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"repo_path": "<string>",
"pull_repo_commands": [
"<string>"
],
"repo_note": "<string>",
"run_lint_commands": [
"<string>"
],
"run_project_commands": [
"<string>"
],
"run_tests_commands": [
"<string>"
],
"update_dependencies_commands": [
"<string>"
]
}
'import requests
url = "https://api.devin.ai/v2/enterprise/organizations/{org_id}/clone"
payload = {
"repo_path": "<string>",
"pull_repo_commands": ["<string>"],
"repo_note": "<string>",
"run_lint_commands": ["<string>"],
"run_project_commands": ["<string>"],
"run_tests_commands": ["<string>"],
"update_dependencies_commands": ["<string>"]
}
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({
repo_path: '<string>',
pull_repo_commands: ['<string>'],
repo_note: '<string>',
run_lint_commands: ['<string>'],
run_project_commands: ['<string>'],
run_tests_commands: ['<string>'],
update_dependencies_commands: ['<string>']
})
};
fetch('https://api.devin.ai/v2/enterprise/organizations/{org_id}/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://api.devin.ai/v2/enterprise/organizations/{org_id}/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([
'repo_path' => '<string>',
'pull_repo_commands' => [
'<string>'
],
'repo_note' => '<string>',
'run_lint_commands' => [
'<string>'
],
'run_project_commands' => [
'<string>'
],
'run_tests_commands' => [
'<string>'
],
'update_dependencies_commands' => [
'<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://api.devin.ai/v2/enterprise/organizations/{org_id}/clone"
payload := strings.NewReader("{\n \"repo_path\": \"<string>\",\n \"pull_repo_commands\": [\n \"<string>\"\n ],\n \"repo_note\": \"<string>\",\n \"run_lint_commands\": [\n \"<string>\"\n ],\n \"run_project_commands\": [\n \"<string>\"\n ],\n \"run_tests_commands\": [\n \"<string>\"\n ],\n \"update_dependencies_commands\": [\n \"<string>\"\n ]\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.devin.ai/v2/enterprise/organizations/{org_id}/clone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"repo_path\": \"<string>\",\n \"pull_repo_commands\": [\n \"<string>\"\n ],\n \"repo_note\": \"<string>\",\n \"run_lint_commands\": [\n \"<string>\"\n ],\n \"run_project_commands\": [\n \"<string>\"\n ],\n \"run_tests_commands\": [\n \"<string>\"\n ],\n \"update_dependencies_commands\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v2/enterprise/organizations/{org_id}/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 \"repo_path\": \"<string>\",\n \"pull_repo_commands\": [\n \"<string>\"\n ],\n \"repo_note\": \"<string>\",\n \"run_lint_commands\": [\n \"<string>\"\n ],\n \"run_project_commands\": [\n \"<string>\"\n ],\n \"run_tests_commands\": [\n \"<string>\"\n ],\n \"update_dependencies_commands\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"org_id": "<string>",
"snapshot_id": "<string>",
"status": "<string>",
"ami_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Richiede l’API key personale di un amministratore Enterprise.
Clona un repository Git in un’organizzazione e crea una nuova versione di snapshot.
Autorizzazioni
API key personale (apk_user_*) riservata agli amministratori Enterprise
Parametri del percorso
Corpo
application/json
Percorso del repository nel formato "owner/repo_name" (ad es. "acme/my-project")
Esempio:
"owner/repo_name"
Comando per eseguire il pull del repository. Consigliamo di lasciarlo vuoto, perché viene generato automaticamente.
Risposta
Risposta corretta
Risposta restituita dalla creazione di uno snapshot.
Timestamp di creazione dello snapshot
ID dell'organizzazione di appartenenza dello snapshot
ID dello snapshot creato
Stato dello snapshot (ad es. "pending", "available")
ID AMI dello snapshot (può essere null se è ancora in corso di creazione)
⌘I

