Файл Jenkins, выполняющий sh, не может экранировать символ двойной кавычки - PullRequest
0 голосов
/ 04 марта 2019

У меня есть файл jenkins, описывающий конвейер.

На одном из моих шагов я пытаюсь присвоить значение из скручивания следующим образом:

sh '''
value=$(curl "http://someUrl/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,\":\",//crumb)")
//some commands
'''

Но почему-то он вызывает

curl 'http://someUrl.com/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,:,//crumb)'

вместо

curl 'http://someUrl.com/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)'

Таким образом, это приводит к ошибке, я думал, что в shell, чтобы избежать символа, который мы должны использовать '\', что не так в моей команде?

(Я пытался в gitbash curlс хорошим URL это работает)

1 Ответ

0 голосов
/ 04 марта 2019

Используя тройное '\' сработало:

value=$(curl "http://someUrl/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,\\\":\\\",//crumb)")
...