一、创建仓库(项目)
-
脚本
pro="projectname" namespace_id=20 token="5XQgZ7mdMtUP--2Zz1G8" info="name=$pro&path=$pro&wiki_enabled=no&public_jobs=true&public=true&namespace_id=$namespace_id&default_branch=master&private_token=$token" curl -d $info "http://10.10.10.10:8080/api/v4/projects"
-
参数说明
pro 仓库(项目)名称
namespace_id 群组id(具体位置查询可以看最下面的截图)
token gitlabd的访问令牌(具体位置创建看下面截图,注意,点击创建之后,不要刷新,页面不会保存的,自己保存下来)
二、删除仓库(项目)
-
通过项目id删除
token="5XQgZ7mdMtUP--2Zz1G8" id=119 curl -X DELETE "http://10.10.10.10:8080/api/v4/projects/$id?private_token=$token"
-
通过项目路径删除
token="5XQgZ7mdMtUP--2Zz1G8" namespace="abc" name="test_del" curl -X DELETE "http://10.10.10.10:8080/api/v4/projects/${namespace}%2F${name}?private_token=$token"
-
参数说明
id 仓库(项目)id (具体位置查询可以看下面的截图)
namespace 群组名称 (具体位置查询可以看下面的截图)
name 仓库(项目)名称 (具体位置查询可以看下面的截图)
-
关于通过api删除仓库的,网上很多地方出现错误,或者没有说明白,一个是在通过项目路径删除时,需要注意 "namespace/name" 这里的 "/" 需要通过URL编码,即这里的%2F;另外一个是有些地方写的是v3,这是老版本的,现在已经调不通了;还有些写着不能用shell脚本来调用,要写python,结果也是浪费了一点时间,还是官方文档比较靠得住。
-
附上官方文档链接:https://docs.gitlab.com/ee/api/projects.html#remove-project
以及关于 "/" 编码的解释:https://docs.gitlab.com/ee/api/README.html#namespaced-path-encoding