从Jenkins控制台输出中grep字符串的Groovy脚本

0kjbasz6  于 2022-09-21  发布在  Jenkins
关注(0)|答案(1)|浏览(210)

我必须读取Jenkins控制台输出并grep字符串为"%)"的行。我可以使用以下代码grep该行:

def result = fileContents.findAll { it.contains('%)') }
println result*.toString()

输出:

× 35 of 45 failed (78%) 06:13 247 3 38 66 140

从上面的行中,我只需要获取和打印失败的%。也就是说。78,如果失败的百分比高于50%,则使Jenkins作业失败

有人能用Groovy帮我解决这个问题吗?有没有其他不使用Groovy的方法也适合我呢?

osh3o9ms

osh3o9ms1#

在我看来,与其让groovy脚本为您完成这项工作(复杂的方式),不如执行以下步骤:

1.使用wget <jenkins_url_of_console_output>下载当前版本的控制台输出
1.使用bash/python-regex来grep或捕获您希望在案例中检查的所需输出
1.将步骤2生成的字符串与所需的输出格式进行比较,最好使用IF块,并相应地通过或通过该阶段。

在您的情况下,您可以取成功/失败的百分比,并根据您的要求通过/失败阶段。希望这能帮上忙。

相关问题