使用Groovy更改Jenkins中的作业参数值
我在詹金斯管道中的每个参数有一个默认值,现在我只想替换其中存在的一个参数,如何使用groovy替换它?
我已经疲惫地搜索了,但似乎没有任何工作:(
我尝试了以下代码,它没有任何错误,但是安排工作的工作没有更新的参数(env_name)值,它具有默认值
def getCause(){
return new CauseAction(new hudson.model.Cause.UserIdCause('admin-user'))
}
def job = Jenkins.instance.getItemByFullName('JobName');
if(job && job.isBuildable()){
def newParameter = new StringParameterValue('env_name', 'dev')
job.replaceAction(new ParametersAction(newParameter))
def buildResult = job.scheduleBuild2(0, getCause())
}
I have a default values for each parameter in Jenkins pipeline, now I just want to replace one of the parameter present in it, how to do it using groovy?
I have searched exhaustedly but nothing seems to work :(
I tried the below code, it works without any errors but the job is getting scheduled is not having the updated parameter(env_name) value, It is having the default value
def getCause(){
return new CauseAction(new hudson.model.Cause.UserIdCause('admin-user'))
}
def job = Jenkins.instance.getItemByFullName('JobName');
if(job && job.isBuildable()){
def newParameter = new StringParameterValue('env_name', 'dev')
job.replaceAction(new ParametersAction(newParameter))
def buildResult = job.scheduleBuild2(0, getCause())
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这可以通过不同的方式解决,探索了一些方法,并找到了修改Jenkins中现有构建属性的方法。
参数变量将具有指定的作业的所有构建属性,我正在创建NewParams列表并将默认值添加到其中。添加后,我要删除要替换的一个,然后在同一密钥中添加一个新值。这是一个有效的解决方案,甚至没有修改Jenkins作业的作业配置。
This can be solved differently, explored some ways and found the way to modify an existing build property in jenkins
The params variable would have all the build properties of the job specified, I'm creating a newParams list and adding the default values to it. After adding, I'm removing the one I'm going to replace, and then adding a new value to same key. This is a working solution, it even does not modify the job config of the jenkins job.