如何使用自定义的果冻脚本在 Jenkins 中循环控制台输出?
How to loop through the console output in Jenkins using customized jelly script?
我正在尝试在 Jenkins Email-Ext 中编写一个 jelly 脚本,作为控制台输出的 returns 部分。我正在尝试循环 'failure' 的控制台输出。有人可以给我一个使用果冻脚本模板执行此操作的示例脚本或格式吗?
提前致谢。
也许你也可以使用 Groovy,因为果冻可能更难做类似的事情。
作为 email-ext here 的一部分包含的示例与 Groovy 做类似的事情,即它检索构建输出的最后 100 行,然后在每一行上使用 StringEscapeUtils 来确保文本不被解释为 HTML:
<% build.getLog(100).each() { line -> %>
<TR><TD class="console">${org.apache.commons.lang.StringEscapeUtils.escapeHtml(line)}</TD></TR>
<% } %>
而不是转义,你可以做一些决定,只在条件成立时输出内容,例如
${if(line.contains('mytext')) { // do stuff here }}
我正在尝试在 Jenkins Email-Ext 中编写一个 jelly 脚本,作为控制台输出的 returns 部分。我正在尝试循环 'failure' 的控制台输出。有人可以给我一个使用果冻脚本模板执行此操作的示例脚本或格式吗?
提前致谢。
也许你也可以使用 Groovy,因为果冻可能更难做类似的事情。
作为 email-ext here 的一部分包含的示例与 Groovy 做类似的事情,即它检索构建输出的最后 100 行,然后在每一行上使用 StringEscapeUtils 来确保文本不被解释为 HTML:
<% build.getLog(100).each() { line -> %>
<TR><TD class="console">${org.apache.commons.lang.StringEscapeUtils.escapeHtml(line)}</TD></TR>
<% } %>
而不是转义,你可以做一些决定,只在条件成立时输出内容,例如
${if(line.contains('mytext')) { // do stuff here }}