Jenkins API 是一种强大的工具,它允许你通过编程方式管理和控制Jenkins实例,包括创建、更新Job、触发构建、查询构建状态、获取日志等操作。掌握Jenkins API能够极大地提高CI/CD流程的自动化水平和灵活性。以下是Jenkins API实践的一些关键方面和示例:
1. 查询Jenkins基本信息
使用GET
请求获取Jenkins实例的基本信息:
curl -X GET http://your-jenkins-url/api/json
2. 获取Job列表
获取所有Job的列表:
curl -X GET http://your-jenkins-url/api/json?tree=jobs[name,url]
获取特定Job的详情:
curl -X GET http://your-jenkins-url/job/your-job-name/api/json
3. 触发构建
触发一个Job的构建:
curl -X POST http://your-jenkins-url/job/your-job-name/build
4. 获取构建信息
查询最新构建编号:
curl -X GET http://your-jenkins-url/job/your-job-name/lastBuild/api/json | jq '.number'
获取特定构建的详情:
curl -X GET http://your-jenkins-url/job/your-job-name/{BUILD_NUMBER}/api/json
5. 下载构建日志
下载某次构建的日志:
curl -X GET http://your-jenkins-url/job/your-job-name/{BUILD_NUMBER}/consoleText --output build.log
6. 更新Job配置
获取Job配置XML:
curl -X GET http://your-jenkins-url/job/your-job-name/config.xml
更新Job配置(先下载配置,修改后重新上传):
curl -X GET http://your-jenkins-url/job/your-job-name/config.xml -o job-config.xml
# 使用文本编辑器修改job-config.xml
curl -X POST -H "Content-Type:text/xml" --data-binary @job-config.xml http://your-jenkins-url/job/your-job-name/config.xml
7. 使用API Token认证
为了安全,使用API时推荐使用用户凭据或API Token进行身份验证。获取用户的API Token:
- 登录Jenkins,进入个人设置页面。
- 选择“API Token”选项卡,生成或查看现有Token。
使用Token进行认证:
curl -X GET http://your-jenkins-url/job/your-job-name/api/json \
-u "your-username:your-api-token"
8. Jenkins Pipeline中调用API
在Pipeline脚本中,可以使用HTTP请求插件或Groovy的HTTP客户端直接调用API:
pipeline {
agent any
stages {
stage('Trigger Another Job') {
steps {
script {
def response = httpRequest acceptType: 'APPLICATION_JSON',
contentType: 'APPLICATION_JSON',
httpMode: 'POST',
url: "http://${env.JENKINS_URL}/job/another-job/build"
echo "Response Code: ${response.status}"
}
}
}
}
}
通过上述实践,你可以将Jenkins API融入自动化流程,实现更高级的CI/CD操作和系统集成。记得根据实际情况调整URL、认证方式和请求参数。