Как разделить вывод оболочки запятой и экранировать двойными кавычками в Jenkinsfile? - PullRequest
0 голосов
/ 11 июня 2019

В моем jenkinsfile я использую:

def ChangedFiles = bat ( returnStdout: true, script: "@git diff-tree --no-commit-id --name-only --stdin -m -r ${commitHash}" ).trim()

чтобы получить все файлы, которые изменились при слиянии, которое запустило сборку Jenkins. Тем не менее, это дает все измененные файлы в одну большую строку, например:

force-app/main/default/staticresources/test.css
force-app/main/default/staticresources/secondtest.css

Если я хочу, чтобы мое развертывание в Salesforce сохраняло то же время, мне нужно, чтобы строку экранировали с помощью "" и разделяли запятой. Это будет выглядеть так:

"force-app/main/default/staticresources/test.css, force-app/main/default/staticresources/secondtest.css"

Было бы еще лучше (но не нужно), если бы я мог добавить "C: / A_MAP / ANOTHER_MAP /", например так:

"C:/A_MAP/ANOTHER_MAP/force-app/main/default/staticresources/test.css, C:/A_MAP/ANOTHER_MAP/force-app/main/default/staticresources/secondtest.css"

Я посмотрел на классные методы tokenize (), split () и replaceAll (), но, похоже, ни один из них не имеет того, что я ищу. Я уже потратил много времени на это, и я надеюсь, что кто-то здесь может мне помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...