【发布时间】:2017-09-22 13:23:32
【问题描述】:
我是 Jenkins Pipeline 和 Groovy 语法等的新手。
- 我有一个 Jenkins 工作,它需要 5 个参数。
- 我想安排一个通过WGET检查列表的管道(格式是csv - 我也可以切换到JSON输出)并且csv是一行5列出的参数 a,b,c,d,e
- 我需要解析该列表并将参数传递给 JOB "IF" 有行,如果没有,跳过并完成管道。
我已经搜索并基本上得到了这个测试......:
pipeline {
environment {
testVar='foo'}
agent any
stages {
stage('Example Build') {
steps {
echo 'Hello World'
script {
sh "RESULT=\$(wget -qO- https://www.url.com/getlist)"
sh "echo \$RESULT"
//variable define based on parse of CSV???
}
}
}
stage('Example Deploy') {
when {
expression { testVar=='foo' }
}
steps {
echo 'Deploying'
build job: 'Testing', parameters:
[
string(name: 's_e', value: 'u'),
string(name: 't_e', value: 't'),
string(name: 's_s', value: 'DS'),
string(name: 't_s', value: 'SH'),
string(name: 'efg', value: 'TEST')
]
}
}
}}
显然,我在解析 RESULT 方面还有更多工作要做(但我不确定如何在 Pipeline 中实现这一点)。
然后我需要检查 RESULT 是否为空,然后将变量传递给 Build。
【问题讨论】:
-
您可以试试:
def out = sh(script: 'wget -qO- https://www.url.com/getlist', returnStdout: true)吗? -
谢谢 Opal ,最好放在哪里?
-
在
echo Hello World之后尝试。不确定它是否有效;) -
在我定义了 RESULT 并且没有出错但有点不确定下一步该怎么做之后添加了 :)
-
echo例如。如果显示预期的输出与解析一起去。
标签: bash csv jenkins groovy jenkins-pipeline