1.背景
Jenkins具有丰富的插件生态,足以满足我们日常工作的需求;如果我们想通过具体的Jenkins任务直接对外提供服务,而我们不想将内部的具体实现对外暴露(否则,需添加对应的用户权限,通过页面执行job);可以对外直接提供接口,第三方直接调用接口(比如提供给开发,提测前回归冒烟用例集),执行相应的Jenkins任务并获取任务结果。
2.Jenkins原生Remote access API
Jenkins提供了原生的Remote accsee API, 主要用来做:
- 1
- 2
- 3
- 1
- 2
- 3
实例:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
完整的Remote access API wiki 可以通过如下获取:
- 1
- 1
原生的接口,功能较为简单、不友好,需封装Jenkins的api,提供有价值的接口返回信息。
3.Jenkins api wrappers
Jenkins api wrappers有多种编程语言实现, 可以很方便的操作Jenkins,具体如下:
Node.js: https://www.npmjs.com/package/jenkins-api
ruby: https://rubygems.org/gems/jenkins_api_client