通过下面的方式获取到 Jenkins-Crumb,调 Jenkins API 时在 header 中加上该参数,用于跨站访问 Jenkins 的接口
curl --location --request GET 'http://ip:port/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)' \
--header 'Authorization: Basic eXV5dTp5dXl1'
Authorization: Basic eXV5dTp5dXl1 为账密 base64 之后的结果,等同于用 postman 在 auth 里选择 Basic Auth,输入账密
获取到的结果如下,不过该值每隔一段时间会失效,需要重新获取:
Jenkins-Crumb:d8e75b26e5cdc27f29df857ccb3d979690b85f9418119e9117f813fc939cc462
进入用户列表 --- 点击用户 --- 设置 --- 添加 api token
yuyu_token 110deceb3c13c5e16d809b8b6426a7d6e3
curl --location --request POST 'http://yuyu:110deceb3c13c5e16d809b8b6426a7d6e3@3.1.250.199:6001/job/AutoTestByApi/build' \
--header 'Jenkins-Crumb: d8e75b26e5cdc27f29df857ccb3d979690b85f9418119e9117f813fc939cc462' \
--header 'Authorization: Basic eXV5dTp5dXl1'
公司使用开源测试平台 meterSphere 主要用来做测试用例管理、测试跟踪和性能测试。
由于公司本身已经有一套接口自动化框架,所以没有用 ms 的接口自动化功能。
此次基于 ms 进行二次开发,扩展了适配自己公司的功能,仅涉及前端开发,使用 vue+elementui 框架,直接调用 Jenkins-Remote-Api。
1.参数化调度构建 Jenkins-job,实时获取 job 运行结果
2.报告查看
3.报表分析
基于 Echarts 做的图表
curl --location --request POST 'http://ip:port/job/AutoTestByApi/build' \
--header 'Jenkins-Crumb: d8e75b26e5cdc27f29df857ccb3d979690b85f9418119e9117f813fc939cc462' \
--header 'Authorization: Basic eXV5dTp5dXl1'
官方文档:https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API
网友博客整理的常用 api
https://www.cnblogs.com/anliven/p/13642675.html?ivk_sa=1024320u
https://blog.csdn.net/qq_34832393/article/details/88210942
https://blog.csdn.net/qq_34832393/article/details/88229804