我希望Jenkins在发生当前版本的“第一次失败”后执行Powershell脚本。 因此,在下一个后续的“失败”构建中可能不会触发该脚本。 只有当构建再次成功时,才能在第一次失败后再次触发powershell脚本。
我一直在groovy脚本中搜索,以确定第一次失败。但也许有人知道一个插件可以选择在“第一次失败”时执行脚本吗?
任何帮助表示感谢。
亲切的问候,彼得
答案 0 :(得分:0)
currentBuild对象指向上一个版本。当您的当前构建失败时,您可以使用currentBuild.previousBuild.result
检查上一个构建的状态。如果成功,那么您知道这是第一次失败。我实际上没有尝试过YMMV。
答案 1 :(得分:0)
假设您可以使用curl(或类似名称),请尝试获取http.../jobname/lastSuccessfulBuild/buildNumber
和http.../jobname/lastFailedBuild/buildNumber
的内容。如果lastSuccessfulBuild
的结果大于lastFailedBuild
,那么您在上次失败之前就已经取得了成功。
答案 2 :(得分:0)
我已执行以下设置:
-BuildNr $ENV:BUILD_NUMBER
从PREVIOUS Jenkins工作中获得结果
$PreviousUrl = "$($ProjectLink)/$($PreviousBuildNr)/api/xml"
[xml]$PreviousXML = Invoke-WebRequest $PreviousUrl -Method GET -Headers
$headers -UseBasicParsing
$PreviousResult = $PreviousXML.freeStyleBuild.result
从那时起,我可以在我的powershell脚本中进一步使用PreviousResult
和(类似)currentResult
。