Déclencher un déploiement de prévisualisation
Créez ou mettez à jour un déploiement de prévisualisation pour une branche spécifique. Si une prévisualisation existe déjà pour la branche, un redéploiement est déclenché. Retourne un identifiant de statut pour suivre la progression et l’URL de la prévisualisation.
Authentifiez-vous avec une clé d’API administrateur.
curl --request POST \
--url https://api.mintlify.com/v1/project/preview/{projectId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"branch": "<string>",
"auth": {
"type": "password",
"password": "<string>"
}
}
'import requests
url = "https://api.mintlify.com/v1/project/preview/{projectId}"
payload = {
"branch": "<string>",
"auth": {
"type": "password",
"password": "<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({branch: '<string>', auth: {type: 'password', password: '<string>'}})
};
fetch('https://api.mintlify.com/v1/project/preview/{projectId}', 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.mintlify.com/v1/project/preview/{projectId}",
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([
'branch' => '<string>',
'auth' => [
'type' => 'password',
'password' => '<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.mintlify.com/v1/project/preview/{projectId}"
payload := strings.NewReader("{\n \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<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.mintlify.com/v1/project/preview/{projectId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mintlify.com/v1/project/preview/{projectId}")
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 \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"statusId": "<string>",
"previewUrl": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}statusId que vous pouvez transmettre à Get deployment status pour suivre la progression du déploiement.
Exigences relatives à la branche
branch doit exister dans le dépôt connecté à votre projet Mintlify et l’application GitHub Mintlify doit être installée. Cet endpoint ne prend pas en charge les branches de forks. Consultez Pull requests de forks pour savoir comment prévisualiser les modifications d’un fork.
Cas d’utilisation
- Pipelines CI/CD : Créez automatiquement des déploiements de prévisualisation lorsque des utilisateurs ouvrent ou mettent à jour des pull requests.
- Prévisualisations planifiées : Générez des prévisualisations de branches de fonctionnalités de longue durée selon un calendrier.
- Outillage personnalisé : Intégrez la création de prévisualisations dans des workflows internes ou des bots Slack.
Accès aux prévisualisations
auth dans le corps de la requête. Mintlify applique le paramètre d’accès à la prévisualisation avant de mettre le déploiement en file d’attente. Si vous omettez auth, la prévisualisation conserve ses paramètres d’accès actuels.
{ "type": "password", "password": "..." }: Toute personne disposant du mot de passe peut consulter la prévisualisation. Les mots de passe doivent comporter au moins 8 caractères. La définition d’un mot de passe remplace tout mot de passe existant sur la prévisualisation.{ "type": "mintlify" }: Seuls les membres de votre organisation connectés à Mintlify peuvent consulter la prévisualisation.
curl --request POST \
--url https://api.mintlify.com/v1/project/preview/{projectId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"branch": "feature/new-guide",
"auth": { "type": "password", "password": "review-pass-123" }
}'
auth est soumise aux exigences suivantes :
- Votre offre doit inclure l’authentification des déploiements de prévisualisation. Sinon, l’endpoint renvoie une erreur
403. - Votre site doit avoir l’authentification ou l’authentification des prévisualisations activée. Sinon, l’endpoint renvoie une erreur
409. - L’authentification doit être activée sur la prévisualisation elle-même. Sinon, l’endpoint renvoie une erreur
409.
Limites de débit
Autorisations
L'en-tête Authorization requiert un jeton Bearer. Utilisez une clé d'API administrateur. Il s'agit d'une clé secrète côté serveur. Générez-en une depuis la page des clés d'API de votre Dashboard.
Paramètres de chemin
Corps
Le nom de la branche Git pour laquelle créer un déploiement de prévisualisation.
1Restriction d'accès à appliquer à la prévisualisation. Omettez-la pour conserver les paramètres d'accès actuels de la prévisualisation. Nécessite une offre incluant l'authentification des prévisualisations, et votre site doit avoir l'authentification ou l'authentification des prévisualisations activée.
- Mot de passe
- Connexion au Dashboard
Show child attributes
Show child attributes
Réponse
Déploiement de prévisualisation mis en file d'attente avec succès.
L'identifiant de statut pour suivre le déploiement de prévisualisation. Utilisez-le avec l'endpoint Get deployment status.
L'URL à laquelle le déploiement de prévisualisation est hébergé.
curl --request POST \
--url https://api.mintlify.com/v1/project/preview/{projectId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"branch": "<string>",
"auth": {
"type": "password",
"password": "<string>"
}
}
'import requests
url = "https://api.mintlify.com/v1/project/preview/{projectId}"
payload = {
"branch": "<string>",
"auth": {
"type": "password",
"password": "<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({branch: '<string>', auth: {type: 'password', password: '<string>'}})
};
fetch('https://api.mintlify.com/v1/project/preview/{projectId}', 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.mintlify.com/v1/project/preview/{projectId}",
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([
'branch' => '<string>',
'auth' => [
'type' => 'password',
'password' => '<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.mintlify.com/v1/project/preview/{projectId}"
payload := strings.NewReader("{\n \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<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.mintlify.com/v1/project/preview/{projectId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mintlify.com/v1/project/preview/{projectId}")
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 \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"statusId": "<string>",
"previewUrl": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}