繁体   English   中英

Jenkins Groovy是否要从“当前”构建日志中提取Regex并调用REST API?

[英]Jenkins Groovy to extract Regex from the Current build log and call REST API?

我想添加一个总结我的构建的构建步骤,使用Groovy读取迄今为止生成的构建日志。

我在SO上还看到了其他一些与相关主题有关的问题,但并非所有问题都在运行,我对API文档有些困惑,总的来说,我似乎无法使这件事完全运行。

以下是我目前遇到的代码/结果失败。

我有几个问题,如果可以将它们全部放在这里,可以吗?

1.在控制台窗口中进行测试是否安全? 或者换句话说,什么时候可以在/ script Groovy控制台编辑器窗口中起作用,但是作为Groovy构建步骤将失败? (我认为这两种API有所不同,但不清楚如何。)

2. Groovy Jenkins脚本示例到处都有回购吗?

3.如何执行以下操作?

  • 阅读控制台日志。
  • 用正则表达式解析感兴趣的单词,例如“ step#2 success”。
  • 将这些单词重新排列成带有一些换行符的漂亮字符串。
  • 调用我们的内部REST API提交结果。

非常感谢! 安妮

//Groovy command from SO Post#23139654
def log = manager.build.logFile.text
def summary = log =~ /(?ms)(TEST SUMMARY.*?failures)/

//From there you can extract the matches or as in my case further parse the match:

def total = summary[0] =~ /\d+ tests/

结果包括;

ERROR: Build step failed with exception
groovy.lang.MissingPropertyException: No such property: manager for class: Script1

这是我的答案。

1. Groovy控制台与Groovy的构建步骤是否与Groovy Classpath上的Jenkins Packages不同

2.示例可从2011年的一个用户处获得,并且在Wiki上有未知的日期:“ Jenkins,Groovy系统脚本(和Maven)|代码段” https://mriet.wordpress.com/2011/06/23/groovy-jenkins -system-script /https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Script+Console

3.要解析控制台日志和grep输出,只需将其输入到Web框中,作为可编辑电子邮件插件[4]构建后步骤的输入。 不要使用dollar-curlyBrace语法:使用简单的dollar-variable或dollar-paren语法,如下所示,这是我对“默认内容”的第一个破解。

STATUS=$BUILD_STATUS  
$DEFAULT_CONTENT
GIT Changelog , Revision = $GIT_REVISION
$CHANGES 
LOG-SNIPPETS: Regex Hits/Rules for words that give Unit Test Summaries, Error, Failure, etc =
$BUILD_LOG_REGEX( regex="^.*?BUILD FAILED.*?$", linesBefore=0, linesAfter=10, maxMatches=5, showTruncatedLines=false, escapeHtml=true)

3B。要调用REST插件,这需要在一个单独的步骤中完成,因此到目前为止,我没有这样做。

我没有正确理解Email-Ext(又名“可编辑电子邮件通知”)插件,这就是为什么我试图直接在Groovy中做到这一点。

4. [] Email-ext插件-Jenkins-Jenkins Wiki; ; https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM