作者:泽阳 http://zeyangli.github.io
在做持续集成的过程中,项目的代码管理基本上采用的就是gitlab。在进行集成流水线的过程中需要跟gitlab做一些交互。
例如:
在Jenkins插件管理安装插件 “HTTP Request”,然后在“流水线语法”中生成Jenkinsfile。
主要填写的信息:
注意:如果需要认证,需要提前在jenkins中创建gitlab用户的凭据。
流水线语法
httpRequest acceptType: 'APPLICATION_JSON_UTF8', authentication: '24982560-17fc-4589-819b-bc5bea89da77', contentType: 'APPLICATION_JSON_UTF8', responseHandle: 'NONE', url: 'http://gitlab.demo.com/api/v4/xxxx'
封装一下下
package org.demo
def HttpReq(reqUrl,reqMode,reqBody){
response = httpRequest acceptType: 'APPLICATION_JSON_UTF8',
authentication: '24982560-17fc-4589-819b-bc5bea89da77',
contentType: 'APPLICATION_JSON_UTF8',
url: 'http://gitlab.demo.com/api/v4/xxxx',
requestBody: """{"aa":"bb","cc":"dd"}"""
response = readJSON text: "${response.content}"
return response
}
Gitlab 接口文档, 分为ce 和ee 。 例如ce= https://docs.gitlab.com/ce/api/ 。
不重复造轮子,有一些操作通过jenkins的gitlab插件能够完成。但是特殊的场景下就需要自己来封装请求了。 遗憾不会JAVA开发,否则做个插件出来更有意义。当前的使用方式是直接在sharelibrary中扩展的groovy文件。