jenkins参数化构建,并通过接口启动jenkins构建任务

配置参数

在"配置" -> "参数化构建过程" ->"添加参数" -> "字符参数",

"名称":参数名 aa bb cc

"默认值":可选的 111 222 不填

"描述":可选的

job任务

python 复制代码
import os

print("aa", os.getenv('aa'))
print("bb", os.getenv('bb'))
print("cc", os.getenv('cc'))

问题一

通过jenkins接口启动jenkins任务:

python 复制代码
import jenkins

server = jenkins.Jenkins('jenkins服务器的url地址', username='jenkins客户端用户名',
                             password='api tocken')
## password可在jenkins用户的"设置" -> "API Token"查看
job = 'jenkins_jobs/mytest'
server.build_job(job, {"ccc":2222})

控制台输出:

复制代码
aa 111
bb 222
cc None

可以看到,可以给jenkins的job传递一个不存在的参数ccc不会报错。cc由于没有默认值,因此是None。

问题二

通过jenkins接口启动jenkins任务:

python 复制代码
import jenkins

server = jenkins.Jenkins('jenkins服务器的url地址', username='jenkins客户端用户名',
                             password='api tocken')
## password可在jenkins用户的"设置" -> "API Token"查看
job = 'jenkins_jobs/mytest'
server.build_job(job, {"cc":2222, "aa":1000})

控制台输出:

复制代码
aa 1000
bb 222
cc 2222

可以看到,可以给jenkins的job传递部分参数aa和cc。

相关推荐
海兰1 天前
Elasticsearch ES|QL:让全文本搜索无处不在
大数据·elasticsearch·jenkins
IT界的老黄牛2 天前
Jenkins 监控一条龙:接入、看板 9964、11 条告警规则直接抄走
jenkins·grafana·prometheus·监控·ci-cd·告警规则
小袁拒绝摆烂2 天前
Jenkins部署经验
运维·jenkins
IT界的老黄牛2 天前
Jenkins 构建卡了 23 天,abort 按钮点了没用
jenkins·maven·prometheus·告警·排查·ci-cd
GGG7664 天前
K8s1.28 全栈落地|Jenkins+GitLab+Harbor DevOps 流水线封神实战
kubernetes·gitlab·jenkins
叱咤少帅(少帅)5 天前
新版本jenkins的共享库的实现
运维·jenkins
2601_962297255 天前
Python、Pytest、Allure、Selenium和Jenkins实现自动化测试集成实例
python·selenium·jenkins·pytest·allure
大模型丫丫5 天前
工业级 RAG 为什么需要 Elasticsearch?
elasticsearch·django·jenkins
X1A0RAN6 天前
Jenkins 流水线跨阶段的数据共享:让变量“动态更新“成为可能
java·servlet·jenkins
Ningcode_cloud7 天前
什么是CICD? GitLab + Jenkins 持续集成实战部署手册
运维·ci/cd·云原生·容器·gitlab·jenkins