Cloner le dépôt
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>"
}
]
}Gestion des dépôts
Cloner un dépôt dans une organisation
Cloner un dépôt dans l’instantané de l’organisation
POST
/
v2
/
enterprise
/
organizations
/
{org_id}
/
clone
Cloner le dépôt
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>"
}
]
}Nécessite une clé API personnelle d’administrateur Enterprise.
Clone un dépôt Git dans une organisation et crée une nouvelle version d’instantané.
Autorisations
API Key personnelle (apk_user_*) réservée uniquement aux administrateurs Enterprise
Paramètres de chemin
Corps
application/json
Chemin du dépôt, au format « owner/repo_name » (par exemple : « acme/my-project »).
Exemple:
"owner/repo_name"
Commandes permettant de cloner le dépôt. Il est recommandé de laisser ce champ vide, car il sera généré automatiquement.
Réponse
Réponse réussie
Réponse renvoyée après la création d'un instantané.
Horodatage de la création de l’instantané
ID de l'organisation dont relève le snapshot
ID de l’instantané créé
Statut de l’instantané (par exemple : « pending », « available »)
ID de l'AMI de l'instantané (peut être null s'il est encore en cours de création)
⌘I

