Чтение csv и печать совпавшего текста с использованием декларативного конвейерного скрипта Jenkins - PullRequest
0 голосов
/ 13 апреля 2020

В настоящее время я работаю над декларативным конвейерным сценарием 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.'}

Пожалуйста, сообщите , Спасибо.

...