Как включить символ кавычки в переменную jenkinfile - PullRequest
0 голосов
/ 21 сентября 2018

Как включить символ одинарной и двойной кавычки в jenkinfile вместе с переменной.Мне просто нужно напечатать переменную CURLDATA из моего jenkinfile.

Мой 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 = "\ '{\" to \ ": \" $ {MEETINGROOM} \ ", \" type\ ": \" meeting \ ", \" from \ ": \" absEMbot@myapplication.att.com \ ", \" password \ ": \" $ {ROOMPASS} \ ", \" displayfromname \ ": \"ABS EM Bot \ ", \" html \ ": \" СБОЙ СОЗДАНИЯ: $ {ENVIRONMENT} \ "} \ '" ^

1 ошибка

Может кто-нибудь сказать мне, как ее решить,Также пробовал много других способов.


Этот работает в консоли сценариев Jenkins

{
    def MEETINGROOM = "Test"
    def CURLDATA = "\'{\"to\":\"${MEETINGROOM}\"}\'"
    println  "${CURLDATA}"
  }

Результат '{"to": "Test"}'

Но то же самое не сработало с jenkinfile.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Вы можете использовать /slashy string/:

def CURLDATA = /'{"to":"Test"}'/

Также вам нужно обернуть назначения в шаге script:

script {
    def CURLDATA = /'{"to":"Test"}'/
    echo "${CURLDATA}"
}
0 голосов
/ 21 сентября 2018

Здесь вы можете использовать многострочную строку "" ", чтобы вам не пришлось бежать" или "

{
  def MEETINGROOM = "Test"
  def CURLDATA = """'{"to":"${MEETINGROOM}"}'"""
  println  "${CURLDATA}"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...