我假设您正在使用Groovy Pipeline,并且已经知道全局变量(请参阅全局变量参考)。
- 该
currentBuild
变量具有一个rawBuild
返回hudson.model.Run对象的字段 - 调用
rawBuildObject#getCauses()
或rawBuildObject#getCauses()
返回一些Cause对象。
下面的脚本:
node { stage('test advance script') { echo "current build number: ${currentBuild.number}" echo "previous build number: ${currentBuild.previousBuild.getNumber()}" def causes = currentBuild.rawBuild.getCauses() echo "causes: ${causes}" def rebuildCause0 = currentBuild.rawBuild.getCause(com.sonyericsson.rebuild.RebuildCause) echo "rebuildCause0: ${rebuildCause0}" echo "rebuild up number: ${rebuildCause0.getUpstreamBuild()}" }}但是,正如我们在聊天中讨论的那样,Rebuilder
Plugin的使用
CauseAction方式错误。如果已固定为this,则控制台输出应为:
current build number: 72previous build number: 71causes: [hudson.model.Cause$UserIdCause@679c1066, job/DMP/job/test-pipeline/63[hudson.model.Cause$UserIdCause@679c1066]]rebuildCause0: job/DMP/job/test-pipeline/63[hudson.model.Cause$UserIdCause@679c1066]rebuild up number: 63
请记住
scriptApproval当您看到这样的错误时:scripts not permitted to use method hudson.model.Run getCauses.Administrators can decide whether to approve or reject this signature.



