проблема при использовании скрипта groovy в Jenkins - PullRequest
0 голосов
/ 07 января 2020

Я использую сценарий groovy для удаления содержимого из файла Prop в задании jenkins. Я использую плагин groovy в разделе Build. Мой код работает нормально, когда значение жестко закодировано. но когда я использую переменную для передачи значения, я не получаю желаемого результата. Я проверил свой код в редакторе Intelliji и получил некоторый результат. Не могли бы вы помочь мне понять, что я делаю не так?

Это нормально работает

InputStream input = new FileInputStream("C:\\AppianDeployment\\Application.properties")
Properties prop = new Properties()
String removeApps =  "AP2"
prop.load(input)
def keyToRemove = "${removeApps}".toString()
*prop.remove("AP1")*
OutputStream output = new FileOutputStream("C:\\AppianDeployment\\Application.properties");
prop.store(output, null);

Это не работает

InputStream input = new FileInputStream("C:\\AppianDeployment\\Application.properties")
Properties prop = new Properties()
String removeApps =  "AP2"
prop.load(input)
def keyToRemove = "${removeApps}".toString()
*prop.remove(${keyToRemove})*
OutputStream output = new FileOutputStream("C:\\AppianDeployment\\Application.properties");
prop.store(output, null);

1 Ответ

1 голос
/ 07 января 2020

Нет такого литерала в Groovy

prop.remove(${keyToRemove})

Вместо этого вы должны использовать либо

prop.remove keyToRemove

, либо по любой другой причине

prop.remove "${keyToRemove}".toString()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...