Jenkins持续集成远程调用jenkis api

远程调用 Jenkins API 的方法

Jenkins 提供了丰富的 REST API,支持通过 HTTP 请求进行远程操作。以下是常用的 API 调用方式和示例。

获取 Jenkins 基本信息

使用 curl 获取 Jenkins 实例的基本信息,需替换 JENKINS_URLUSERNAME:PASSWORD

curl -u USERNAME:PASSWORD JENKINS_URL/api/json

触发构建任务

通过 POST 请求触发指定任务的构建,需替换 JOB_NAME 和参数。

curl -X POST -u USERNAME:PASSWORD JENKINS_URL/job/JOB_NAME/build

如果需要传递参数,使用以下格式:

curl -X POST -u USERNAME:PASSWORD JENKINS_URL/job/JOB_NAME/build \
  --data-urlencode json='{"parameter": [{"name":"PARAM_NAME", "value":"PARAM_VALUE"}]}'

获取构建状态

获取特定任务的构建状态信息,替换 JOB_NAMEBUILD_NUMBER

curl -u USERNAME:PASSWORD JENKINS_URL/job/JOB_NAME/BUILD_NUMBER/api/json

停止构建

停止正在运行的构建任务,替换 JOB_NAMEBUILD_NUMBER

curl -X POST -u USERNAME:PASSWORD JENKINS_URL/job/JOB_NAME/BUILD_NUMBER/stop

使用 Python 调用 Jenkins API

安装 python-jenkins 库,通过 Python 脚本调用 API。

import jenkins

server = jenkins.Jenkins('JENKINS_URL', username='USERNAME', password='PASSWORD')
server.build_job('JOB_NAME', parameters={'PARAM_NAME': 'PARAM_VALUE'})

使用 Groovy 脚本

在 Jenkins 流水线中直接调用内部 API。

def response = httpRequest url: 'JENKINS_URL/api/json', authentication: 'CREDENTIALS_ID'
println(response.content)

生成 API Token

在 Jenkins 用户配置中生成 API Token,用于替代密码。

  1. 登录 Jenkins,进入用户配置页面。
  2. API Token 区域点击 Generate
  3. 保存生成的 Token,用于 API 认证。
curl -u USERNAME:API_TOKEN JENKINS_URL/api/json

处理 JSON 响应

使用 jq 工具解析 Jenkins API 返回的 JSON 数据。

curl -s -u USERNAME:PASSWORD JENKINS_URL/api/json | jq '.jobs[] .name'

使用 Postman 测试 API

在 Postman 中设置以下参数:

  • 请求类型:GET 或 POST
  • 认证方式:Basic Auth
  • URL:JENKINS_URL/api/json
  • 头部:Content-Type: application/json
注意事项
  • 确保 Jenkins 配置了适当的权限,允许 API 访问。
  • 使用 HTTPS 协议保障数据传输安全。
  • 在生产环境中避免直接使用密码,推荐使用 API Token。
  • 频繁调用 API 时注意速率限制,避免对 Jenkins 性能造成影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值