6

В настоящее время я использую BUILD_LOG_REGEX в Jenkins Редактируемая электронная почта, чтобы получить журнал ошибок по электронной почте. Но я получаю много мусора, и я хочу отфильтровать ошибки, и я хочу, чтобы журнал ошибок был отфильтрован до совершенства. Любая помощь?Как отфильтровать только ошибки в Jenkins-email-ext, BUILD_LOG_REGEX?

+0

Есть ли какая-то общая строка в строках журнала ошибок, на которой можно настроить регулярное выражение? Если нет, можете ли вы добавить его? Не могли бы вы привести пример, какое регулярное выражение вы используете, какие лог-строки должны быть пойманы, а какие нет? –

+0

Hey Juuso, я могу фильтровать один вид ошибки сейчас. Но я хотел бы фильтровать более одного типа ошибок. Например, журнал ошибок может иметь формат Error: (или) [Error] (или) Failed: и так далее и т. Д. Как создать условие или условие в BUILD_LOG_REGEX? – user1048613

ответ

8

Ваш вопрос скорее неспецифичен. Как отмечает Юсуо Охтонен в комментарии, то, что вы делаете, зависит от того, что обычно можно найти в вашем журнале. Вот пример того, что мы используем в одном из наших рабочих мест, это довольно общий (если не сказать, минималистичный):

${BUILD_LOG_REGEX, regex="^.*?BUILD FAILED.*?$", linesBefore=0, linesAfter=10, maxMatches=5, showTruncatedLines=false, escapeHtml=true} 

Я хотел бы предложить следующее: создать работу, которая регистрирует некоторый текст, который содержит типы ошибок (вы можете просто вытолкнуть некоторый текстовый файл, который вы разместите в рабочей области задания), а затем воспроизвести с шаблонами регулярных выражений Java - java.util.regex.Pattern - в Плагине, пока не получите желаемый результат. Убедитесь, что вы посылаете электронную почту от работы только для себя :)

Чтобы использовать пользовательские HTML - вот цитата из содержания маркеров ссылки плагина:

${JELLY_SCRIPT, template} - Custom message content generated from a Jelly script 
    template. There are two templates provided: "html" and "text". Custom Jelly templates 
    should be placed in $JENKINS_HOME/email-templates. When using custom templates, the 
    template filename without ".jelly" should be used for the "template" argument. 
    template - the template name. Defaults to "html". 

шаблон по умолчанию, которые можно использовать в качестве ваша начальная точка находится в

$JENKINS_HOME/plugins/email-ext/WEB-INF/classes/hudson/plugins/emailext/templates/html.jelly 
+0

Я даю вам несколько примеров того, как выглядят мои файлы журналов. В этом случае только журналы ошибок (разные журналы ошибок): Случай: 1 Ошибка: несоответствие папки - проверьте следующие файлы: ========================== ================================================== ============ Удалены: \ foo2.cs Удалены: \ WorkflowsHighAvailabilityApp \ Application \ WorkflowsHighAvailabilityApp.cs Корпус: 2 – user1048613

+0

Мое состояние выглядит следующим образом: $ {BUILD_LOG_REGEX, регулярное выражение =» Ошибка: ", linesBefore = 0, linesAfter = 5, showTruncatedLines = false}. Это фильтрует только журналы с ошибкой :, но я хочу фильтровать ошибку, которая имеет много видов, таких как [Ошибка]/Failed: и т. Д. Любые предложения? – user1048613

+0

BUILD_LOG_REGEX использует регулярные выражения 'java.util.regex.Pattern': http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html –