詹金斯 - MavenBuild.getMavenArtifacts()返回null(Jenkin

2019-07-29 00:37发布

由于詹金斯1.460,调用getMavenArtifacts()上的一个实例MavenBuild被返回null,而以前这将很好地工作。

是否有过詹金斯API打破的变化,或者这是一个错误詹金斯?

我执行的代码生成后,系统Groovy脚本,暴露构建的Maven的版本在詹金斯后续步骤建立过程中使用的环境变量:

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);

Answer 1:

我发现了一个解决办法,虽然我不知道为什么未经宣布的重大更改是对API的 - 希望这是一个将得到修正了一个错误。

替代:

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

对于

def mavenVer = currentBuild.getParent().getModules().toArray()[0].getVersion();


文章来源: Jenkins - MavenBuild.getMavenArtifacts() Returns Null