Comment lire la variable shell en groovy / comment assigner la valeur de retour shell à une variable groovy.
Exigence : Ouvrir un fichier texte lire les lignes en utilisant le shell et stocker la valeur dans groovy et obtenir le paramètre pour chaque ligne .
Ici , est le délimiteur
Ex : releaseModule.txt
./APP_TSBASE/app/team/i-home/deployments/ip-cc.war/cs_workflowReport.jar,configurable-wf-report,94,23crb1,artifact
./APP_TSBASE/app/team/i-home/deployments/ip.war/cs_workflowReport.jar,configurable-temppweb-report,394,rvu3crb1,artifact
\========================
Ici, nous voulons obtenir le nom du module, le deuxième paramètre (configurable-wf-report), le numéro de construction, le troisième paramètre (94), l'identifiant de la livraison, le quatrième paramètre (23crb1).
def module = sh(script: """awk -F',' '{ print \$2 "," \$3 "," \$4 }' releaseModules.txt | sort -u """, returnStdout: true).trim()
echo module
List lines = module.split( '\n' ).findAll { !it.startsWith( ',' ) }
def buildid
def Modname
lines.each {
List det1 = it.split(',')
buildid=det1[1].trim()
Modname = det1[0].trim()
tag= det1[2].trim()
echo Modname
echo buildid
echo tag
}
3 votes
Duplicata de stackoverflow.com/questions/36507410/ .
0 votes
Duplicata possible de Est-il possible de capturer le stdout de la commande sh DSL dans le pipeline ?