如何编写Python脚本触发Jenkins任务执行
触发Jenkins Selenium任务的Python脚本实现
前置依赖配置
- Jenkins侧配置:进入目标Selenium任务的设置页,找到「构建触发器」板块,勾选「触发远程构建」,自行设置一个任务专属的触发令牌(后续脚本会用到),保存配置
- 账号凭证准备:建议用Jenkins API Token替代明文密码,生成路径:Jenkins右上角个人头像→配置→API Token→新建令牌,保存生成的Token值
- 安装Python依赖:执行命令
pip install requests
无参数任务触发脚本
如果你的Selenium任务不需要传入自定义参数,直接用以下脚本:
import requests # 按需修改以下配置项 JENKINS_URL = "http://你的Jenkins服务地址" JOB_NAME = "你的Selenium任务名称" JENKINS_USER = "你的Jenkins账号" JENKINS_API_TOKEN = "你生成的API Token" JOB_TRIGGER_TOKEN = "你在任务里设置的远程触发令牌" # 拼接触发接口地址 trigger_url = f"{JENKINS_URL}/job/{JOB_NAME}/build?token={JOB_TRIGGER_TOKEN}" # 发送触发请求 response = requests.post( trigger_url, auth=(JENKINS_USER, JENKINS_API_TOKEN) ) # 校验触发结果 if response.status_code == 201: print("Selenium任务触发成功") else: print(f"触发失败,状态码:{response.status_code},错误信息:{response.text}")
带参数任务触发脚本
如果你的Selenium任务配置了构建参数(比如浏览器类型、测试环境地址等),修改请求逻辑即可:
import requests # 基础配置项和无参数版本一致,此处省略重复内容 trigger_url = f"{JENKINS_URL}/job/{JOB_NAME}/buildWithParameters?token={JOB_TRIGGER_TOKEN}" # 填入你要传给Selenium脚本的参数 build_params = { "BROWSER": "chrome", "TEST_ENV": "staging" } response = requests.post( trigger_url, auth=(JENKINS_USER, JENKINS_API_TOKEN), data=build_params ) # 结果校验逻辑同上 if response.status_code == 201: print("带参数的Selenium任务触发成功") else: print(f"触发失败,状态码:{response.status_code},错误信息:{response.text}")
注意事项
- 触发请求的状态码返回201即代表请求成功,Jenkins会进入排队调度流程,不会立即返回构建结果
- 如果触发报错403,检查账号是否有任务的构建权限、API Token是否正确、任务触发令牌是否匹配
- 如果触发报错404,检查Jenkins地址、任务名称是否拼写正确
内容的提问来源于stack exchange,提问作者Anup Sahoo
相关产品推荐
相关产品推荐

