我在GIT中有一个接收后钩子(可以正常运行),可以调用
http://ip:port/job/project_name/buildWithParameters?token=abc&ABC=qwe
ABC 是我的参数,在Jenkins的项目中定义为 String参数,默认值为 xyz 。 URL的值为 qwe 。
我的詹金斯管道脚本是
pipeline {
agent any
stages {
stage('Checkout') {
steps {
print env.ABC
}
}
}
}
从GIT触发构建时,env.ABC
打印xyz而不打印qwe。
如何从URL获取值qwe?我的目标是将GIT的版本标记名称传递给管道。
谢谢
编辑#1(Matt Schuchard的建议)
也不行。
接收后挂钩中的网址
http://ip:port/job/project_name/buildWithParameters?token=abc&ABC=works&DEF=works
在Jenkins UI中为项目定义的参数
管道脚本
pipeline {
agent any
parameters {
string(name: 'DEF', defaultValue: 'failed', description: '')
}
stages {
stage('Checkout') {
steps {
print 'by params.ABC -> ' + params.ABC
print 'by params.DEF -> ' + params.DEF
}
}
}
}
输出
解决方案(由Virginie提供)
必须用&引用URL。
http://ip:port/job/project_name/buildWithParameters?token=abc\&ABC=works\&DEF=works
输出
答案 0 :(得分:0)
请注意,如果使用的是Unix shell脚本,则需要转义&
或引用整个URL。
你可以尝试一下吗?
http://ip:port/job/project_name/buildWithParameters?token=abc\&ABC=works\&DEF=works