1、准备工作
- 确保 Jenkins 已安装并启用 API 访问
- 创建 Jenkins 用户并赋予适当权限
- 生成 API 令牌(在用户设置中创建)
生成API令牌
- 登录该用户后,进入 个人设置(右上角用户名 → Configure)。
- 在 API Token 栏点击 Add new Token ,输入名称(如
deploy-token
)并生成,保存令牌(仅显示一次)。

生成token

2、触发方式
- 使用 HTTP POST 请求调用 Jenkins 构建 API
- 可以传递参数化构建所需的参数
- 支持通过 Basic Auth 或 API 令牌进行身份验证
脚本示例
#!/bin/bash
# Jenkins配置
JENKINS_URL="http://your-jenkins-server:8080"
JOB_NAME="your-deployment-job"
USERNAME="your-username"
API_TOKEN="your-api-token"
# 构建参数(如果有)
PARAMS="ENV=production&VERSION=1.0.0"
# 触发构建
echo "Triggering Jenkins job: $JOB_NAME"
curl -X POST "${JENKINS_URL}/job/${JOB_NAME}/buildWithParameters?${PARAMS}" \
--user "${USERNAME}:${API_TOKEN}" \
-H "Content-Type: application/x-www-form-urlencoded"
echo "Build triggered successfully"
关键参数说明
-
构建 URL:
- 非参数化构建:
http://jenkins-url/job/job-name/build
- 参数化构建:
http://jenkins-url/job/job-name/buildWithParameters?param1=value1¶m2=value2
- 非参数化构建:
-
身份验证:
- 使用
用户名:API令牌
进行 Basic Auth 认证 - API 令牌可在 Jenkins 个人设置中生成,比密码更安全
- 使用
-
响应处理:
- 成功触发会返回 201 Created 状态码
- 可通过 API 查询构建状态:
http://jenkins-url/job/job-name/lastBuild/api/json
示例脚本
无参数构建
#!/bin/bash
# Jenkins配置
JENKINS_URL="http://127.1.0.1:8900"
JOB_NAME="all-sx"
USERNAME="jenkins"
API_TOKEN="11e92e4fffdfbb8d3e7fb247ba9aaaa"
# 触发构建
echo "Triggering Jenkins job: $JOB_NAME"
curl -X POST "${JENKINS_URL}/job/${JOB_NAME}/build" \
--user "${USERNAME}:${API_TOKEN}" \
-H "Content-Type: application/x-www-form-urlencoded"
echo "Build triggered successfully"