Jenkins-MavenBuild.getMavenArtifacts()返回Null

Jenkins-MavenBuild.getMavenArtifacts()返回Null,maven,groovy,hudson,jenkins,Maven,Groovy,Hudson,Jenkins,自Jenkins 1.460以来,在MavenBuild的实例上调用getMavenArtifacts()将返回null,而以前这可以正常工作 Jenkins API中是否有突破性的更改,或者这是一个Jenkins bug 我正在执行的代码是一个构建后系统Groovy脚本,它将Maven版本的构建公开为环境变量,供Jenkins构建过程中的后续步骤使用: import hudson.model.*; import hudson.util.*; def thr = Thread.currentT

自Jenkins 1.460以来,在
MavenBuild
的实例上调用
getMavenArtifacts()
将返回null,而以前这可以正常工作

Jenkins API中是否有突破性的更改,或者这是一个Jenkins bug

我正在执行的代码是一个构建后系统Groovy脚本,它将Maven版本的构建公开为环境变量,供Jenkins构建过程中的后续步骤使用:

import hudson.model.*;
import hudson.util.*;

def thr = Thread.currentThread();
def currentBuild = thr?.executable;
def mavenVer = currentBuild.getMavenArtifacts().getModuleRecords()[0].mainArtifact.version;
def newParamAction = new hudson.model.ParametersAction(new hudson.model.StringParameterValue("MAVEN_VERSION", mavenVer));
currentBuild.addAction(newParamAction);

我找到了一个解决办法,尽管我不知道为什么对API进行了一个未经宣布的破坏性更改——希望这是一个可以修复的bug

替换:

def mavenVer = currentBuild.getMavenArtifacts().getModuleRecords()[0].mainArtifact.version;
为了


肯定有1.460。如果不能将Jenkins回滚到以前的版本,考虑只把插件放在前一个版本。嘿,我得到了这个例外,我在詹金斯1.625.3.2= >错误:用异常GROOVI.Lang.MISSIGNEXODEXECUTION构建步骤失败:没有签名方法:HUDSONS.MID.FraceListPosi.GETMeules()适用于参数类型:()值:[]可能的解决方案:getModuleRoot()、getModuleRoot()、getBuilds()、getWidgets()
def mavenVer = currentBuild.getParent().getModules().toArray()[0].getVersion();