Массовое удаление задач
DELETE /repos/{owner}/{repo}/issues/bulk/delete
Описание
Метод DELETE удаляет задачи, выбранные явным списком идентификаторов и/или query-фильтрами списка задач.
Выбор задач задается в теле запроса (список идентификаторов) и/или query-фильтрами списка задач.
Ответ содержит только задачи, которые не удалось удалить, и список ошибок. Если все задачи удалены успешно, data — пустой массив.
Важно: учитывается приватность репозитория. Если репозиторий приватный, а запрос выполняется не владельцем, соавтором или участником команды с доступом к репозиторию, возвращается ошибка 404.
Токен
Требуется токен с правами на Запись для Репозитория.
Заголовки
| Параметр | Обязательный | Описание |
|---|---|---|
Accept | Нет | Тип содержимого ответа. Рекомендуется установить значение application/vnd.gitverse.object+json;version=1 |
Authorization | Да | Токен доступа. Формат: Bearer <YOUR-TOKEN> или token <YOUR-TOKEN> |
Content-Type | Да | application/vnd.gitverse.object+json;version=1 |
Параметры
| Параметр | Где передать | Тип | Обязательный | Описание |
|---|---|---|---|---|
owner, repo | путь | string | Да | Владелец и имя репозитория. |
state | query | string | Нет | Состояние задач, по которому отбираются задачи. |
q | query | string | Нет | Строковый фильтр по задачам. |
labels | query | string | Нет | Фильтр по меткам. |
milestones | query | string | Нет | Фильтр по вехам. |
created_by | query | string | Нет | Фильтр по создателям задач. |
assigned_by | query | string | Нет | Фильтр по исполнителям задач. |
mentioned_by | query | string | Нет | Фильтр по упомянутым в задачах пользователям. |
type | query | string | Нет | Фильтр по типу задачи. |
since | query | string | Нет | Фильтр по дате обновления (с этой даты). |
before | query | string | Нет | Фильтр по дате обновления (до этой даты). |
Тело запроса
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
data | array | Нет | Явный список идентификаторов задач для удаления (integer). |
exclude_issue_ids | array | Нет | Список идентификаторов задач для исключения из выборки по фильтрам (integer). |
Задачи удаляются либо по явному списку data, либо по query-фильтрам; exclude_issue_ids исключает задачи из выборки по фильтрам.
Пример запроса
curl -X DELETE "https://api.gitverse.ru/repos/user/my-repo/issues/bulk/delete" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=1" \
-H "Content-Type: application/vnd.gitverse.object+json;version=1" \
-d '{
"data": [101, 102, 103]
}'
Замените YOUR_TOKEN на ваш личный токен доступа.
Пример ответа (200 OK)
При успешном выполнении сервер возвращает список задач, которые не удалось удалить. Если все задачи удалены успешно, возвращается объект с пустым массивом:
{
"data": []
}
При частичной ошибке:
{
"data": [
{
"issue": {
"id": 1759,
"number": 42,
"title": "Исправить баг"
},
"errors": [
{
"field": "",
"message": "Недостаточно прав для удаления задачи",
"reason": "FORBIDDEN"
}
]
}
]
}
Структура ответа
Ответ — объект IssueBulkResult. Полная структура описана в графе объектов, раздел 24.4.
| Поле | Тип | Описание |
|---|---|---|
data | array | Массив объектов IssueBulkFailure: задачи, которые не удалось удалить |
Каждый элемент массива data:
| Поле | Тип | Описание |
|---|---|---|
issue | object | Краткая информация о задаче: id, number, title (объект IssueBulkSummary) |
errors | array | Список ошибок: field, message, reason (объекты IssueBulkFieldError) |
Коды ответа
| Код | Статус | Описание |
|---|---|---|
200 | OK | Массовое удаление выполнено; в ответе — неудаляемые задачи (при наличии). |
400 | Bad Request | Некорректные параметры запроса. |
401 | Unauthorized | Не передан или невалиден токен авторизации. |
403 | Forbidden | Нет прав на доступ к репозиторию. |
404 | Not Found | Репозиторий не найден или нет доступа. |
422 | Unprocessable Entity | Ошибка валидации данных запроса. |
500 | Internal Server Error | Внутренняя ошибка сервера GitVerse. |
Пример тела ошибки
При ответе 401 тело ответа имеет следующий вид:
{
"error": {
"code": "UNAUTHORIZED",
"documentation_url": "https://gitverse.ru/docs/developers/public-api/",
"message": "Authorization is required",
"status": 401
}
}