Команда sh в отличном Jenkinsfile в несколько строк - PullRequest
0 голосов
/ 04 июня 2019

Привет, ребята, я хочу выполнить команду sh в jenkinsfile, который довольно длинный, в несколько строк.Дело в том, что я не могу этого сделать.команда выполняется, но только первая строка.Я пытался с "\" с "+", но я не могу выполнить команду отверстия.вот как у меня это прямо сейчас:

node {

      stage('purge URL content in cloudflare') {

        sh """\
        curl -X GET "https://api.cloudflare.com/client/v4/zones/cd7d030xxxxxxx420df9514dad0" +
        -H "X-Auth-Email: mail.user@domain.com" +
        -H "X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +
        -H "Content-Type: application/json" +
        --data '{"files":["${params.URL1}",{"url":"${params.URL2}","headers":{"Origin":"cloudflare.com","CF-IPCountry":"US","CF-Device-Type":"desktop"}}]}' """


    }



}

Но я получаю ошибку enter image description here

Как это просто, что вы можете добавить одну командув несколько строк?

1 Ответ

0 голосов
/ 04 июня 2019

Нет необходимости использовать + для объединения строк в строку с тройными двойными кавычками:

node {

  stage('purge URL content in cloudflare') {

    sh """
    curl -X GET "https://api.cloudflare.com/client/v4/zones/cd7d030xxxxxxx420df9514dad0"
    -H "X-Auth-Email: mail.user@domain.com"
    -H "X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    -H "Content-Type: application/json"
    --data '{"files":["${params.URL1}",{"url":"${params.URL2}","headers":{"Origin":"cloudflare.com","CF-IPCountry":"US","CF-Device-Type":"desktop"}}]}' 
       """
  }
}

Источник: http://groovy -lang.org / syntax.html # _triple_double_quoted_string

...