当前位置: 首页 > 面试题库 >

电子邮件扩展插件-无法使BUILD_LOG_EXCERPT正常工作

盖博简
2023-03-14
问题内容

不管我在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
...

在Jenkins作业中,我创建一个Post Build步骤,并将以下行放入Default Content:

${BUILD_LOG_EXCERPT, start="\\b(Parameters)\\b", end="\\b(Threshold)\\b"}

当我触发工作时,我收到的只是一封空电子邮件。但是,如果我添加

${BUILD_LOG, maxLines=9999, escapeHtml=false}

然后我会在电子邮件中获得完整的控制台输出。有任何想法吗?我正在使用2.40.3版本的插件。


问题答案:

看起来您的正则表达式找不到任何匹配项,因此您没有得到日志的任何行。这是因为该BUILD_LOG_EXCERPT变量用于java.util.regex.Pattern.Matcher.matches()匹配一个正则表达式-
并且仅True整个
字符串匹配时才返回(在此SO问题中引用)。日志解析器逐行运行,因此它正在针对您的正则表达式测试整行,并且失败(因为“Parameters”后面有字符)。

如果您要查找以开头Parameters但后面可能包含字符的字符串,则可以匹配

"\\b(Parameters)\\b(?s).*"

它将匹配“参数”及其后的任意字符串。



 类似资料:
  • 问题内容: 我正在尝试通过输入URL向指定用户发送电子邮件,但出现以下错误: 第383行的AbstractSmtpTransport.php中的Swift_TransportException:预期的响应代码为250,但代码为“ 530”,消息为“ 530 5.7.1要求身份验证” 到目前为止,我只是试图使其与Gmail一起使用。我该如何工作? 这是我到目前为止的内容: mail.php 这是我在

  • 我有一个很长的表单,表单的内容是通过邮件(HTML电子邮件)发送的。 我的PHP邮件函数在其余的内容中工作得很好。但当我将以下内容添加到邮件正文时,邮件就不工作了。 基本上,我得到的。 邮件头为

  • 我所拥有的 我在我的应用程序中使用Firebase认证,用户可以使用电子邮件和密码注册。如果用户没有验证他们的电子邮件,我会禁用一些功能,直到他们验证他们的电子邮件。 我还有一个按钮来显式触发验证邮件,它只是调用,。它工作完美,验证邮件总是发送。 用户收到验证邮件,但当他/她验证邮件并返回应用程序时,始终为false。所以我的应用程序仍然不允许用户使用所有功能,尽管事实上他/她已经验证了他们的电子

  • 使用Jenkins1.499和版本2.25的Jenkins电子邮件扩展插件。当电子邮件被发送时,电子邮件的内容显示为通知的附件,而不是在电子邮件的正文中。事实上,邮件正文是空白的。更改电子邮件的内容类型没有任何效果。我们使用Exchange/Outlook,这可能是问题所在吗?有什么想法可以在邮件的正文中获得邮件的内容吗?

  • 我用的是詹金斯·弗尔。1.463在32位Windows服务器上运行。我已经安装了Email ext插件2.30.2版。 我无法收到任何电子邮件通知。 我想做的是——在每项工作之后发送一封电子邮件——不管操作是否成功、失败、中止、不构建等等。。我用詹金斯来运行自动化测试套件。 我配置测试作业的方式是“在构建后操作中,选择可编辑的电子邮件通知”,并填写必填字段(收件人列表等)。在高级中,从下拉列表中选

  • 我正在尝试使用CodeIgniter的电子邮件库发送电子邮件。这是我写的代码。 错误:这是我得到的错误。 遇到以下SMTP错误:0php_network_getaddresses:getaddrinfo失败:名称或服务未知无法发送数据:AUTH LOGIN发送AUTH LOGIN命令失败。错误:无法发送数据:邮件从:从:遇到以下SMTP错误:无法发送数据:RCPT TO:到:遇到以下SMTP错误: