我正在尝试建立一个使用slack通知的通知系统。但是当它变得更糟时,它会进入多个频道。为此,我需要看到的不仅仅是您之前可以执行的构建:
currentBuild.getPreviousBuild().result
但更多的是:
currentBuild.getAmountOfConsecutiveFaildAttemtpts()
因此,如果我达到某个阈值,我可以推送到多个频道。任何想法都会很好。
答案 0 :(得分:0)
currentBuild.previousBuild
会返回RunWrapper
,这与currentBuild
完全相同。这意味着您可以使用getPreviousBuild()
或getNextBuild()
遍历任意方向的构建。
这是一个粗略,快速的例子。您将不得不考虑并行构建如何影响您的结果。如果要在多个管道中重复使用它,可以将其移动到Shared Library:
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
}