一尘不染

Jenkins-MavenBuild.getMavenArtifacts()返回Null

jenkins

从Jenkins 1.460开始,调用getMavenArtifacts()的实例将MavenBuild返回null,而以前可以正常工作。

Jenkins API是否发生了重大更改,或者这是Jenkins错误?

我正在执行的代码是构建后的System 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);

阅读 208

收藏
2020-07-25

共1个答案

一尘不染

我找到了一种解决方法,尽管我不知道为什么对API进行了未经通知的重大更改-希望它会得到解决。

替代:

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

对于

def mavenVer = currentBuild.getParent().getModules().toArray()[0].getVersion();
2020-07-25