我试着建立一个通知系统,用松弛来通知。但是当它变得更糟的时候,让它进入不止一个频道。为此,我需要看到的不仅仅是以前的构建,您可以这样做:
currentBuild.getPreviousBuild().result但更多的内容是:
currentBuild.getAmountOfConsecutiveFaildAttemtpts()因此,如果我领导一个阈值,我可以推到更多的一个通道。任何想法都会很好。
发布于 2017-10-26 21:35:45
currentBuild.previousBuild返回一个RunWrapper,该对象与currentBuild完全相同。这意味着您可以使用getPreviousBuild()或getNextBuild()向任意方向遍历构建。
下面是一个粗略的、快速的例子。您将不得不考虑并行构建如何影响您的结果。如果要跨多个管道重用它,可以将其移动到https://jenkins.io/doc/book/pipeline/shared-libraries/中:
int failures = 0
def examinedBuild = currentBuild.previousBuild
while(examinedBuild != null) {
echo "Build Number ${examinedBuild.number} -> ${examinedBuild.result}"
if (examinedBuild.result == 'FAILURE') {
failures = failures + 1
}
examinedBuild = examinedBuild.previousBuild
}https://stackoverflow.com/questions/46963997
复制相似问题