无论我在 BUILD_LOG_EXCEPT 中放入什么,我得到的只是一封带有空正文的电子邮件,因此可以使用一些帮助。
我有一个写入控制台的java程序。 Jenkins 控制台输出的片段如下所示:
...
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building project1 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.4.0:java (default-cli) @ project1 ---
Parameters provided: SG, 100, 1000
query: select COUNT(*) from table1 where col1 = ? and col2 = ? and col3 = ?
Rows in table: 5776
Threshold: 100
Rows returned above threshold, skipping dpan generation batch file.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.125 s
[INFO] Finished at: 2016-02-08T09:31:37-08:00
[INFO] Final Memory: 8M/245M
...
在 Jenkins 作业中,我创建了一个 Post Build 步骤,并将以下行放在默认内容中:
${BUILD_LOG_EXCERPT, start="\\b(Parameters)\\b", end="\\b(Threshold)\\b"}
当我触发工作时,我得到的只是一封空电子邮件。但是,如果我添加
${BUILD_LOG, maxLines=9999, escapeHtml=false}
然后我在电子邮件中得到完整的控制台输出。有任何想法吗?我正在使用插件的 2.40.3 版。
最佳答案
BUILD_LOG_EXCEPT 在 email-ext 中遵循使用开始和结束的非常简单的正则表达式匹配。通过使用两个 echo 语句使其工作,即一个在我想要的控制台日志的开头,一个在您想要在电子邮件中的日志的结束位置。
例子 :
在构建步骤中:
echo Start
<your build commands>
echo End
在 email-ext 的默认部分使用下面的行来让它工作:
${BUILD_LOG_EXCERPT, start="^Start", end="^End"}
如果您使用 html 电子邮件输出,您可以使用下面的行来对齐电子邮件中的输出
<pre>${BUILD_LOG_EXCERPT, start="^Start", end="^End"}</pre>
你可以调整并让它工作,希望它对你有用,就像对我一样。
关于电子邮件扩展插件 - 无法让 BUILD_LOG_EXCEPT 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276096/