Deploy job
curl --request POST \
--url https://api.qovery.com/job/{jobId}/deploy \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"image_tag": "<string>",
"git_commit_id": "<string>"
}
'import requests
url = "https://api.qovery.com/job/{jobId}/deploy"
payload = {
"image_tag": "<string>",
"git_commit_id": "<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({image_tag: '<string>', git_commit_id: '<string>'})
};
fetch('https://api.qovery.com/job/{jobId}/deploy', 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.qovery.com/job/{jobId}/deploy",
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([
'image_tag' => '<string>',
'git_commit_id' => '<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.qovery.com/job/{jobId}/deploy"
payload := strings.NewReader("{\n \"image_tag\": \"<string>\",\n \"git_commit_id\": \"<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://api.qovery.com/job/{jobId}/deploy")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"image_tag\": \"<string>\",\n \"git_commit_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/job/{jobId}/deploy")
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 \"image_tag\": \"<string>\",\n \"git_commit_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "BUILDING",
"service_deployment_status": "NEVER_DEPLOYED",
"is_part_last_deployment": true,
"status_details": {
"action": "DEPLOY",
"status": "QUEUED",
"sub_action": "NONE"
},
"deployment_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deployment_requests_count": 123,
"last_deployment_date": "2023-11-07T05:31:56Z",
"steps": {
"total_duration_sec": 123,
"total_computing_duration_sec": 123,
"details": [
{
"step_name": "REGISTRY_CREATE_REPOSITORY",
"status": "SUCCESS",
"duration_sec": 123
}
]
},
"execution_id": "<string>"
}Job Actions
Deploy job
You must provide a git commit id or an image tag depending on the source location of your code (git vs image repository).
POST
/
job
/
{jobId}
/
deploy
Deploy job
curl --request POST \
--url https://api.qovery.com/job/{jobId}/deploy \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"image_tag": "<string>",
"git_commit_id": "<string>"
}
'import requests
url = "https://api.qovery.com/job/{jobId}/deploy"
payload = {
"image_tag": "<string>",
"git_commit_id": "<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({image_tag: '<string>', git_commit_id: '<string>'})
};
fetch('https://api.qovery.com/job/{jobId}/deploy', 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.qovery.com/job/{jobId}/deploy",
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([
'image_tag' => '<string>',
'git_commit_id' => '<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.qovery.com/job/{jobId}/deploy"
payload := strings.NewReader("{\n \"image_tag\": \"<string>\",\n \"git_commit_id\": \"<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://api.qovery.com/job/{jobId}/deploy")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"image_tag\": \"<string>\",\n \"git_commit_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/job/{jobId}/deploy")
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 \"image_tag\": \"<string>\",\n \"git_commit_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "BUILDING",
"service_deployment_status": "NEVER_DEPLOYED",
"is_part_last_deployment": true,
"status_details": {
"action": "DEPLOY",
"status": "QUEUED",
"sub_action": "NONE"
},
"deployment_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deployment_requests_count": 123,
"last_deployment_date": "2023-11-07T05:31:56Z",
"steps": {
"total_duration_sec": 123,
"total_computing_duration_sec": 123,
"details": [
{
"step_name": "REGISTRY_CREATE_REPOSITORY",
"status": "SUCCESS",
"duration_sec": 123
}
]
},
"execution_id": "<string>"
}Authorizations
bearerAuthApiKeyAuth
JWT tokens should be used with OIDC account (human to machine). JWT tokens used by the Qovery console to communicate with the API have a TTL. Curl Example ' curl https://console.qovery.com/organization -H "Authorization: Bearer $qovery_token" '
Path Parameters
Job ID
Query Parameters
When filled, it indicates the target event to be deployed.
If the concerned job hasn't the target event provided, the job won't be deployed.
Available options:
START, STOP, DELETE, CRON Body
application/json
Response
Deploy job
Available options:
BUILDING, BUILD_ERROR, CANCELED, CANCELING, DELETED, DELETE_ERROR, DELETE_QUEUED, DELETING, DEPLOYED, DEPLOYING, DEPLOYMENT_ERROR, DEPLOYMENT_QUEUED, EXECUTING, QUEUED, READY, RECAP, RESTARTED, RESTARTING, RESTART_ERROR, RESTART_QUEUED, STOPPED, STOPPING, STOP_ERROR, STOP_QUEUED, UNAVAILABLE, WAITING_DELETING, WAITING_RESTARTING, WAITING_RUNNING, WAITING_STOPPING Available options:
NEVER_DEPLOYED, OUT_OF_DATE, UP_TO_DATE Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?