Перейти к содержанию

PATCH /v1/releases/{releaseId}

Обновляет метаданные существующего релиза: версию, описание или статус. Передаются только те поля, которые нужно изменить.

Изменение версии может переместить релиз в другую группу в списке релизов.


Request

Path-параметры
releaseId string required
Идентификатор релиза.
Body application/json
version string
Новая версия релиза.
description string
Обновлённое описание. Максимум 4000 символов.
Response 200 OK · application/json
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 Внутренняя ошибка сервера

См. также