В настоящее время я работаю над декларативным конвейерным сценарием jenkins, было бы здорово, если бы я мог получить некоторую помощь по написанию сценариев ниже. У меня есть 10 CSV-файлов в одном месте. Я хочу, чтобы открыть каждый файл и найти «failMessage» в каждом CSV и распечатать то же самое в выводе консоли вместе с именем файла. В приведенном ниже примере, File1, имеющий errorMessage «Тест не пройден: ожидаемый текст равен» в двух местах. Файл2, имеющий в одном месте. Файл 3 не имеет сообщений об ошибках.
Входные файлы CSV
Файл 1:
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,Latency,IdleTime,Connect
1583830716746,1202,HTTP Request- Authorization TC01,200,OK,ZH 1-1,text,true,,530,354,1,1,1202,0,1124
1583830717967,59,ID_001_Wrong_PNR,500,Internal Error,ZH 1-1,text,false,"Test failed: text expected to equal",322,1023,1,1,58,0,0
1583830718034,149,ID_002_Wrong_PAX ,200,Ok,ZH 1-1,text,true,,471,1023,1,1,149,0,0
1583830720338,113,ID_019_mPax_mSeg_assign_Adult,200,Ok,ZH 1-1,text,false,"Test failed: boolen expected to equal",638,1807,1,1,113,0,0
1583830718456,106,ID_005_sPax_sSeg_assign_Adult_Only_Mandatory_Fields_and_flightNo_with_leading_zeros_Revenue,
1583830718664,123,ID_008_sPax_sSeg_change_Adult_Revenue,200,Ok,ZH 1-1,text,false,"Test failed: string to equal",407,1047,1,1,123,0,0
Файл 2:
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,Latency,IdleTime,Connect
1583830716746,1202,HTTP Request- Authorization TC01,200,OK,ZH 1-1,text,true,,530,354,1,1,1202,0,1124
1583830717967,59,ID_001_Wrong_PNR,500,Internal Error,ZH 1-1,text,false,"Test failed: text expected to equal",322,1023,1,1,58,0,0
Вывод моей консоли задания jenkins должно быть что-то вроде:
File1 - Test failed: text expected to equal
Test failed: boolen expected to equal
File2 - Test failed: string to equal
Нет необходимости печатать файл3, так как нет ошибок.
Я только что начал с нижеприведенного сценария:
if (fileExists("/home/ec2-user/test/_Tests_1.csv"))
{
echo ' MyCSV.csv found'
readFile("/home/ec2-user/test/Tests_1.csv").split('\n').each { line, count -> def fields = line.split(',')
for(String item: fields) {
println item
}
}
} else {echo 'csv Not found. Failing.'}
Пожалуйста, сообщите , Спасибо.