我在Jenkins管道中有以下代码:
library(data.table)
data.table(group=sapply(combi_groups, paste, collapse=", "), id=uniq_ID)
# group id
#1: 1 L1,L2
#2: 1, 2 L1,L2,L3,L4
#3: 1, 2, 3 L1,L2,L3,L4,L5,L6
#4: 1, 2, 3, 4 L1,L2,L3,L4,L5,L6
#5: 1, 2, 3, 4, 5 L1,L2,L3,L4,L5,L6
data.table(group=sapply(combi_groups, paste, collapse=", "), id=uniq_ID)[2, id]
[[1]]
[1] "L1" "L2" "L3" "L4"
我正在尝试使用"服务器"来解决问题。在" ChoiceParameterDefinition"。
中设置的变量当我运行构建时,出现以下错误:
public Class A
{
(...)
public bool Test()
{
var b = new B();
return b.RunTheMethod(b.Method1);
}
(...)
}
据我所知,"服务器"是一个groovy变量,因此我应该能够使用$ {}访问它。
所以我试过了:
stage ('Question') {
try {
timeout(time: 1, unit: 'MINUTES') {
userInput = input message: 'Choose server to publish to:', ok: '', parameters: [
[$class: 'hudson.model.ChoiceParameterDefinition', choices: 'pc-ensureint\nother-server', description: 'Choose server to publish to:', name: 'server']
]
}
} catch (err) {
userInput = [server: 'pc-ensureint'] // if an error is caught set this value
}
}
node () {
println ${server}
}
但无论我尝试什么,我都会收到这个错误。
知道我做错了吗?
答案 0 :(得分:18)
以下代码对我有用:
echo userInput
答案 1 :(得分:6)
当你不在字符串之外时,你不应该使用${varName}
,你应该只使用varName
。在内部字符串中,你可以这样使用它echo "this is a string ${someVariable}";
。事实上,您可以在${...}
内放置一般的java表达式; echo "this is a string ${func(arg1, arg2)}
。
答案 2 :(得分:-3)
看看堆栈跟踪。我认为它是课堂上的$。 变量是注释定义,带有$ in groovy