Jenkins Api 的基本使用

1. 创建 api token

// 创建 api token
在这里插入图片描述

// 拷贝 token
在这里插入图片描述

// api token 字符串

110a2b3f1ae219ae0b599509cb6706df37

[warning]注意提示,如果你的jenkins 不是 https 方式访问,就不要使用复制按钮了

2. jenkins job 构建操作

// 执行 testjob 构建(无参数)

$ curl -X POST  --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
      http://192.168.11.207:8080/job/testjob/build

// 停止 testjob 中号码为 3 的构建

$ curl -X POST  --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
      http://192.168.11.207:8080/job/testjob/3/stop

// 停止 testjob 中 上一次的构建

...
script {
    def previousBuildNumber = env.BUILD_NUMBER.toInteger() - 1
    sh "curl -X POST  --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 http://192.168.11.207:8080/job/testjob/${previousBuildNumber}/stop"
}
...

// 执行构建(带参数)

$ curl -X POST  --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
      --data param1=1 --data param2=2 -k --silent -L\
      http://192.168.11.207:8080/job/testjob/build
  • -k: 允许通过不安全的连接(例如未签名或自签名证书的HTTPS连接)进行通信。这在开发环境中可能有用,但在生产环境中应谨慎使用。
  • --silent: 静默模式。不会显示进度表单或错误信息,使输出更干净。
  • -L: 如果服务器报告请求页面已移动到不同的位置(通过发送一个重定向),此选项将让curl继续向新位置请求。

// 删除操作

$ curl -X POST  --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
     http://192.168.11.207:8080/job/testjob/3/doDelete    // 删除一个构建
$ curl -X POST  --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
     http://192.168.11.207:8080/job/testjob/doDelete      // 删除 job

// 禁用和启用 job

$ curl -X POST  --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
     http://192.168.11.207:8080/job/testjob/disable
$ curl -X POST  --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
     http://192.168.11.207:8080/job/testjob/enable

3. jenkins api 操作示例

// 触发构建

$ curl -i -L -X POST --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
      http://jenkinstest.xiodi.cn/view/testview/job/testjob/build

HTTP/1.1 201 Created
Server: nginx/1.24.0 (Ubuntu)
Date: Tue, 18 Mar 2025 03:48:47 GMT
Content-Length: 0
Connection: keep-alive
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
Location: http://jenkinstest.xiodi.cn/queue/item/17/

通过响应数据可以知道当前构建的queue number为17。

// 查看执行状态

$ curl -i -L -X POST --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
      http://jenkinstest.xiodi.cn/queue/item/17/api/json
$ curl -L --silent -X POST --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
      http://jenkinstest.xiodi.cn/queue/item/17/api/json | json_pp

// 通过queue number读取对应的build number和构建结果:

$ curl -k -L --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
    "http://jenkinstest.xiodi.cn/job/testjob/api/xml?tree=builds\[id,number,result,queueId\]&xpath=//build\[queueId=17\]"

<build _class="org.jenkinsci.plugins.workflow.job.WorkflowRun"><id>9</id><number>9</number><queueId>17</queueId><result>SUCCESS</result></build>

从输出中看到,构建号码为 9,结果为 SUCCESS

// 读取构建日志

$ curl -k -L --user xiodiadmin:110a2b3f1ae219ae0b599509cb6706df37 \
      http://192.168.11.207:8080/job/testjob/9/consoleText

Started by user xiodiadmin
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /var/lib/jenkins/workspace/testjob
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Hello)
[Pipeline] echo
Hello World
[Pipeline] sh
+ sleep 60
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云途行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值