Gre*_*reg 5 email jenkins jenkins-plugins email-ext
无论我在BUILD_LOG_EXCERPT中放置什么,我得到的只是一个空体的电子邮件,因此可以使用一些帮助.
我有一个写入控制台的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
...
Run Code Online (Sandbox Code Playgroud)
在Jenkins工作中,我创建了一个Post Build步骤,并将以下行放在默认内容中:
${BUILD_LOG_EXCERPT, start="\\b(Parameters)\\b", end="\\b(Threshold)\\b"}
Run Code Online (Sandbox Code Playgroud)
当我触发工作时,我得到的只是一封空电子邮件.但是,如果我添加
${BUILD_LOG, maxLines=9999, escapeHtml=false}
Run Code Online (Sandbox Code Playgroud)
然后我在电子邮件中获得完整的控制台输出.有任何想法吗?我使用的是插件版本2.40.3.
email-ext中的BUILD_LOG_EXCERPT使用开始和结束进行非常简单的正则表达式匹配。通过使用两个echo语句使它起作用,即一个从我想要的控制台日志开始的位置开始,另一个在您希望在电子邮件中记录的日志的结束位置开始。
例如:
在构建步骤中:
echo Start
<your build commands>
echo End
Run Code Online (Sandbox Code Playgroud)
在email-ext的Default部分中,使用以下行使其正常工作:
${BUILD_LOG_EXCERPT, start="^Start", end="^End"}
Run Code Online (Sandbox Code Playgroud)
如果您使用的是html电子邮件输出,则可以使用下面的行来对齐电子邮件中的输出
<pre>${BUILD_LOG_EXCERPT, start="^Start", end="^End"}</pre>
Run Code Online (Sandbox Code Playgroud)
您可以对其进行调整并使其运行,希望它对您一样对我有用。
| 归档时间: |
|
| 查看次数: |
4041 次 |
| 最近记录: |