我能够通过GitHub实现这一目标。但是我无法在GitLab上做同样的事情。目前,我拥有的是:
curl -u "$user:$token" -H "Content-Type:application/json" -H "PRIVATE-TOKEN:$token" \
-X DELETE https://git.lab.com/api/v4/projects/$repo_name
然后我得到这个错误:
curl: (35) error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error
我已经有了一个使用curl的工作脚本,可以在命令行上创建GitLab存储库,因此我的curl可以正常工作。我只需要删除部分。
答案 0 :(得分:3)
curl -H 'Content-Type: application/json' -H 'Private-Token: $privatetoken' \
-X DELETE https://gitlab.com/api/v4/projects/$namespace%2F$projectname
通过服务器端的正斜杠分隔URI,然后对所得的路径元素进行分类。
由于正斜杠被视为特殊字符,因此,如果要将其包含为URI路径元素,则需要URL encode,因此服务器不会尝试拆分它。
如果您正在执行ID后面带有其他参数的请求,这将更容易引起问题。
在以下示例中,$namespace
是foo
,而$projectname
是bar
。
好
请求:GET /projects/foo%2Fbar/users
URI路径元素:
projects
-调用将在其上执行的资源foo%2Fbar
-特定资源(项目)名称为foo/bar
(经过URL解码后)users
-返回资源坏
请求:GET /projects/foo/bar/users
URI路径元素:
projects
-调用将在其上执行的资源foo
-特定资源(项目)名称为foo
(无此类项目,缺少名称空间)bar
-要查询的资源或要执行的操作(没有此类资源或操作)users
-其他查询参数(首先不存在父资源或操作)如果您使用的是托管在https://gitlab.com/上的公共GitLab,则应使用gitlab.com
域名而不是git.lab.com
,后者不是GitLab Inc.拥有。