gitlab api操作实现批量创建和删除

Posted 幸福丶如此

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gitlab api操作实现批量创建和删除相关的知识,希望对你有一定的参考价值。

一、创建仓库(项目)

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的访问令牌(具体位置创建看下面截图,注意,点击创建之后,不要刷新,页面不会保存的,自己保存下来)


二、删除仓库(项目)

1、通过项目id删除

token="5XQgZ7mdMtUP--2Zz1G8"
id=119
curl -X DELETE "http://10.10.10.10:8080/api/v4/projects/$id?private_token=$token"

2、通过项目路径删除

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

以上是关于gitlab api操作实现批量创建和删除的主要内容,如果未能解决你的问题,请参考以下文章

通过gitlabAPI批量创建用户

gitlab批量添加用户的方法

Elasticsearch——使用Java API实现ES中的索引映射文档操作

Elasticsearch——使用Java API实现ES中的索引映射文档操作

Gitlab(Docker)中批量添加用户及邮件配置

使用ivx实现批量上传图片的经验总结