Ich bin ein STARKEN Skript für ein Jenkinsfile Schreiben folgenden zu tun: regex "Value Key": zum AusfilternGroovy: Paar und Speicher in einem Array
Schritt-1: Lesen Sie die Eingabedatei info_file.txt
. Inhalt der Info-Datei ist unter:
sh> cat info_file.txt
CHIP_DETAILS:1234-A0;1456-B1;2456-B0;3436-D0;4467-C0
Schritt-2: die CHIP_DETAILS
in einem Array speichern, nachdem das Suffix Entfernen -A0,-B1
etc ..
zum Beispiel:
Integer[] testArray = ["1234", "1456", "2456" , "3436" , "4467"]
Step-3 : Drucken Sie die Elemente des Arrays nacheinander. Zum Beispiel:
testArray.each {
println "chip num is ${it}"
}
Ich habe einen kleinen Code geschrieben zu testen, ob der CHIP_DETAILS
‚Schlüssel‘ in der Eingabedatei ist und es funktioniert. Allerdings finde ich es schwierig, die Regex zum Entfernen des Suffix (-A0,-B1
usw.) zu schreiben und den entsprechenden Wert in einem Array zu speichern. der Code wie unter:
stage('Read_Params')
{
steps
{
script
{
println ("Let's validate and see whether the "Key:Value" is present in the info_file.txt\n");
if (new File("$JobPath/Inputparams.txt").text?.contains("CHIPS_DETAILS"))
{
println ("INFO: "Key:Value" is present in the info_file.txt \n");
>>>>> proceed with Step-1, Step-2 and Step-3... <<<<<
}
else
{
println ("WARN: "Key:Value" is NOT present in the info_file.txt \n");
exit 0;
}
}
}
}
Vielen Dank im Voraus für die Hilfe!
Dank @ Mike, diese Regex klingt gut. Gibt es einen Weg, auf dem ich "Werte" direkt in ein Array schreiben kann, anstatt nacheinander 'Assert' zu schreiben. Der Grund ist, dass die Anzahl der Einträge in den "CHIP_DETAILS" in meinem Fall dynamisch ist, da es ein Eingabeparameter ist, der vom Benutzer zum Zeitpunkt des Auslösens der Pipeline bereitgestellt wird. Ich meine, manchmal haben wir vielleicht nur einen Eintrag, sagen wir 1234-A0, oder wir können mehr als 10 Einträge haben, abhängig von den Benutzereingaben. – Yash
@Yash die Behauptungen sind nur da, um Ihnen zu zeigen, die Ergebnisse sind wie erwartet, sie sind nicht für die Lösung erforderlich, alles wird benötigt, ist die Regex und Zuordnung zu testArray, ich habe die Frage aktualisiert, um zu zeigen, wie über das Array zu iterieren –
Danke @Mike !! – Yash