项目要求通过代码实现Gitlab代码提交后,Jenkins自动构建,难点是通过代码添加webhook,最后通过Gitlab API 找到解决办法。
Gitlab API 地址 https://docs.gitlab.com.cn/ee/api/projects.html#add-project-hook
**一、**这个api比较坑的是路径差不多,只是调用式不同,这个是post方式,首先要获取PRIVATE-TOKEN,方式如下图
生成的PRIVATE-TOKEN粘贴出来,这个以后就查不到了
**二、**Gitlab API, 是https方式,需要处理证书的问题,也可以绕过,自行百度吧
路径: https://{ip:port}/api/v4/projects/{project_id}/hooks
PRIVATE-TOKEN 放到header中,
参数按照API中的要求,我这里只设置给了两个必须的
1)url: 这个是jenkins Pipeline 配置中生成的url
2)token: jenkins 配置中生成的Secret token
具体怎么生成就不上图了,网上好多,给大家个链接 https://blog.youkuaiyun.com/MaggieTian77/article/details/78724055
三、 上面路径里需要project_id
这个调用https://{ip:port}/api/v4/projects 或者 https://{ip:port}/api/v4/projects?private_token=xxxxxxxx,
得到所有项目信息,找到要构建的项目id,
我测试的是这俩都能请求到,有没有PRIVATE-TOKEN都可以