PATCH /v1/releases/{releaseId}¶
Обновляет метаданные существующего релиза: версию, описание или статус. Передаются только те поля, которые нужно изменить.
Изменение версии может переместить релиз в другую группу в списке релизов.
Request¶
Path-параметры
releaseId
string
required
Идентификатор релиза.
Body
version
string
Новая версия релиза.
description
string
Обновлённое описание. Максимум 4000 символов.
Response
status
string
Статус операции:
success
message
string
Сообщение о результате
Примеры запроса¶
curl -X PATCH "https://<DOMAIN>/v1/releases/{releaseId}" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"description": "Исправлены баги в UI"}'
import requests
release_id = "release-uuid-2"
url = f"https://<DOMAIN>/v1/releases/{release_id}"
headers = {
"Authorization": "Bearer <API_KEY>",
"Content-Type": "application/json"
}
data = {"description": "Исправлены баги в UI"}
response = requests.patch(url, headers=headers, json=data)
print(response.json())
const releaseId = 'release-uuid-2';
fetch(`https://<DOMAIN>/v1/releases/${releaseId}`, {
method: 'PATCH',
headers: {
'Authorization': 'Bearer <API_KEY>',
'Content-Type': 'application/json'
},
body: JSON.stringify({ description: 'Исправлены баги в UI' })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;
var releaseId = "release-uuid-2";
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Patch, $"https://<DOMAIN>/v1/releases/{releaseId}");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "<API_KEY>");
var data = new { description = "Исправлены баги в UI" };
request.Content = new StringContent(JsonSerializer.Serialize(data), Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
releaseId := "release-uuid-2"
data := map[string]string{"description": "Исправлены баги в UI"}
jsonData, _ := json.Marshal(data)
req, _ := http.NewRequest("PATCH", "https://<DOMAIN>/v1/releases/"+releaseId, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <API_KEY>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
res, err := client.Do(req)
if err != nil { /* ... обработка ошибки ... */ }
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
import okhttp3.*;
import org.json.JSONObject;
import java.io.IOException;
String releaseId = "release-uuid-2";
OkHttpClient client = new OkHttpClient();
JSONObject data = new JSONObject();
data.put("description", "Исправлены баги в UI");
RequestBody body = RequestBody.create(
data.toString(), MediaType.parse("application/json"));
Request request = new Request.Builder()
.url("https://<DOMAIN>/v1/releases/" + releaseId)
.patch(body)
.addHeader("Authorization", "Bearer <API_KEY>")
.build();
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
System.out.println(response.body().string());
}
Пример ответа¶
{
"status": "success",
"message": "Release updated successfully"
}
Ошибки¶
| Код | Описание |
|---|---|
| 204 | Изменений не было, обновление не требуется |
| 400 | Ошибка валидации входных данных |
| 401 | Неавторизованный запрос |
| 403 | Недостаточно прав |
| 404 | Релиз не найден |
| 500 | Внутренняя ошибка сервера |