Дженкинс отправить электронное письмо с частью строки журнала - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть проект SOAPUI с 10 тестовыми примерами в Jenkins.Я настроил Jenkins для отправки мне электронного письма с информацией из консоли (журнал).Я настроил содержимое уведомлений по электронной почте в формате HTML (text / html).

У меня есть этот журнал в консоли вывода в Jenkins:

07:25:05,957 INFO  [SoapUITestCaseRunner] Running SoapUI testcase [Login with username and password]
07:25:05,957 INFO  [SoapUITestCaseRunner] running step [Clear access token]
07:25:05,957 INFO  [log] Environment URL: url.test.environment
07:25:05,958 INFO  [SoapUITestCaseRunner] running step [Retrieve accessToken]
07:25:05,959 DEBUG [HttpClientSupport$SoapUIHttpClient] Stale connection check
07:25:05,960 DEBUG [HttpClientSupport$SoapUIHttpClient] Attempt 1 to execute request
07:25:05,960 DEBUG [SoapUIMultiThreadedHttpConnectionManager$SoapUIDefaultClientConnection] Sending request: POST /api/v2/path HTTP/1.1
07:25:06,010 DEBUG [SoapUIMultiThreadedHttpConnectionManager$SoapUIDefaultClientConnection] Receiving response: HTTP/1.1 200 
07:25:06,011 DEBUG [HttpClientSupport$SoapUIHttpClient] Connection can be kept alive indefinitely
07:25:06,017 INFO  [SoapUITestCaseRunner] Assertion [JsonPath Existence Match] has status VALID
07:25:06,017 INFO  [SoapUITestCaseRunner] Assertion [Valid HTTP Status Codes] has status VALID
07:25:06,017 INFO  [SoapUITestCaseRunner] Assertion [JsonPath Existence Match 1] has status VALID
07:25:06,017 INFO  [SoapUITestCaseRunner] Assertion [JsonPath Existence Match 2] has status VALID
07:25:06,017 INFO  [SoapUITestCaseRunner] running step [Pass accessToken]
07:25:06,019 INFO  [SoapUITestCaseRunner] Finished running SoapUI testcase [Login with username and password], time taken: 51ms, status: FINISHED

Я настроил Jenkins для отправки электронной почты только сэта строка из журнала:

07:25:06,019 INFO  [SoapUITestCaseRunner] Finished running SoapUI testcase [Login with username and password], time taken: 51ms, status: FINISHED

Для этого я использую это регулярное выражение, чтобы найти только эту строку:

<code><pre>${BUILD_LOG_REGEX, regex="Finished running SoapUI testcase \\[Login with username and password\\]", showTruncatedLines=false}

Но я хочу, чтобы в уведомлении по электронной почте просточасти этой строки, что-то вроде этого:

"Login with username and password: FINISHED"

или

"Login with username and password: FAILED"

Есть ли способ отправить электронное письмо только с частью этой строки?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Благодаря Аарону я нашел решение.

Теперь я использую это регулярное выражение:

<b>Login with username and password: </b> <font color="green">${BUILD_LOG_REGEX, regex=".*Finished running SoapUI testcase \\[Login with username and password\\].*status: FINISHED", showTruncatedLines=false, substText="SUCCESS"}</font>
<font color="red">${BUILD_LOG_REGEX, regex=".*Finished running SoapUI testcase \\[Login with username and password\\].*status: FAILED", showTruncatedLines=false, substText="FAILED"}</font>

Уведомление по электронной почте теперь выглядит так:

Вход с именем пользователя и паролем: УСПЕХ


или это:

Вход с именем пользователя и паролем: FAILED


Текст «УСПЕХ» имеет зеленый цвет, а текст «СБОЙ» - красный

0 голосов
/ 06 декабря 2018

Кажется, что вы можете использовать аргумент substr для определения шаблона замены:

<code><pre>${BUILD_LOG_REGEX, regex="Finished running SoapUI testcase \\[Login with username and password\\].*status: ([A-Z]+)", showTruncatedLines=false, substr="Login with username and password : \\1"}

Это будет соответствовать только строкам, таким как последняя из вашего образца,выберите статус успеха / неудачи в первой группе захвата, которая будет указана в шаблоне замены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...