电子邮件扩展插件 - 无法让 BUILD_LOG_EXCEPT 工作

标签 email jenkins jenkins-plugins email-ext

无论我在 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/

相关文章:

java - 请建议java邮件api

groovy - 在 jenkins 工作中,在当前工作区中使用系统 groovy 创建文件

Jenkins 和 Gradle : Unable to get environment variables

jenkins - 重命名 Jenkins / hudson 的工作

hudson - 如何在 Jenkins/Hudson 中以编程方式设置环境变量?

jenkins - 如何从 Sonar 三叶草插件的测试范围中排除 getter/setter 方法?

asp.net - 通过 amazon ses 发送带有阿拉伯发件人姓名的邮件

excel - 使用 Gmail 从 Excel 发送电子邮件

Java在长字符串中查找电子邮件

php - Jenkins如何发布phpDox