我正在努力在Jenkins中使用groovy脚本-我想使用JobDSL插件自动生成一个作业。
下面的变量是定义的,我想把它们传递给步骤{shell{command(...)}},但我不设法做得到的效果
def jobName = 'job-name'
def group = 'group'
def project = 'project-name'
def ext = 'jar'
.
.
.
job(jobName) {
.
.
.
steps {
shell{
command('''downloadUrl=$(curl -s "http://{nexus-url}/service/rest/v1/search?repository=maven-public&group=$group&name=$project&maven.extension=$ext"...''')
}
}
}
字符串
我在构建步骤中得到的结果是
downloadUrl=$(curl -s "http://nexus.lab.pl/service/rest/v1/search?repository=maven-public&group=$group&name=$project&maven.extension=$ext..."
型
我尝试了很多方法来推动变量,但我找不到合适的方法。有没有人可以教我如何获得所需的效果?
尝试了很多方法来获得bash风格的正确结果
2条答案
按热度按时间qaxu7uf21#
三重单引号字符串不会被插值,因此不能在其中使用
$variable
语法。请参见字符串摘要表。你可以使用双引号字符串,但你也需要转义字符串本身的双引号和不相关的美元符号:
字符串
或者,您也可以使用Dollar slashy字符串来避免转义:
型
vaqhlq812#
对于maven您可以将maven plugin与pom、settings和其他maven staff一起使用
Jenkins还提供httpRequest plugin
最后,您可以使用groovy url(example)