Удаление проекта по пути проекта
curl -H 'Content-Type: application/json' -H 'Private-Token: $privatetoken' \
-X DELETE https://gitlab.com/api/v4/projects/$namespace%2F$projectname
Возможные причины ошибки SSL
Кодировка пространства имен
URI разделяется прямой косой чертой на стороне сервера, а затем результирующие элементы пути классифицируются.
Поскольку косая черта обрабатывается как специальный символ, нам нужно URL-кодировать , если мы хотим включить его в качестве элемента пути URI, чтобы сервер не пытался его разделить.
Как это может вызвать проблему, становится более очевидным, если вы выполняете запрос с дополнительными параметрами за идентификатором.
В следующих примерах $namespace
равно foo
, а $projectname
равно bar
.
Good
Запрос: GET /projects/foo%2Fbar/users
Элементы пути URI:
projects
- ресурсы, на которые будет выполняться вызов
foo%2Fbar
- имя конкретного ресурса (проекта) foo/bar
(после декодирования URL)
users
- ресурсы для возврата
Bad
Запрос: GET /projects/foo/bar/users
Элементы пути URI:
projects
- ресурсы, на которые будет выполняться вызов
foo
- имя конкретного ресурса (проекта) foo
(такого проекта нет, пространство имен отсутствует)
bar
- ресурс для запроса или действие для выполнения (такого ресурса или действия нет)
users
- дополнительный параметр запроса (родительский ресурс или действие вообще не существует)
Конечная точка API
Если вы используете общедоступный GitLab, размещенный по адресу https://gitlab.com/,, вы должны использовать доменное имя gitlab.com
вместо git.lab.com
, последнее не принадлежит GitLab Inc.