如何在jenkinfile中包括单引号和双引号字符以及变量。我只需要从我的jenkinfile中打印CURLDATA变量。
我的Jenkinsfile看起来像这样-
{
def CURLDATA = "\'{\"to\":\"${MEETINGROOM}\", \"type\":\"meeting\", \"from\":\"absEMbot@myapplication.att.com\", \"password\":\"${ROOMPASS}\", \"displayfromname\":\"ABS EM Bot\", \"html\":\"BUILD FAILURE:${ENVIRONMENT}\"}\'"
sh "echo CurlData is : ${CURLDATA}"
}
以下是我在jenkin控制台中遇到的错误-
org.codehaus.groovy.control.MultipleCompilationErrorsException:启动失败: WorkflowScript:60:期望在第60行第13列进行操作。 def CURLDATA =“ \'{\”到\“:\” $ {MEETINGROOM} \“,\”类型\“:\”会议\“,\”来自\“:\” absEMbot@myapplication.att.com \ “,\”密码\“:\” $ {ROOMPASS} \“,\” displayfromname \“:\” ABS EM Bot \“,\” html \“:\”内置失败:$ {ENVIRONMENT} \“} \ '” ^
1个错误
有人可以告诉我如何解决它。也尝试了很多其他方式。
这个可以在Jenkins脚本控制台中使用
{
def MEETINGROOM = "Test"
def CURLDATA = "\'{\"to\":\"${MEETINGROOM}\"}\'"
println "${CURLDATA}"
}
结果 '{“至”:“测试”}'
但是从jenkinfile中无法执行相同的操作。
答案 0 :(得分:0)
您可以在此处使用多行字符串“”“,这样就不必转义'或”
{
def MEETINGROOM = "Test"
def CURLDATA = """'{"to":"${MEETINGROOM}"}'"""
println "${CURLDATA}"
}
答案 1 :(得分:0)
您可以使用/slashy string/
:
def CURLDATA = /'{"to":"Test"}'/
此外,您还需要在script
步骤中包装作业:
script {
def CURLDATA = /'{"to":"Test"}'/
echo "${CURLDATA}"
}