可以查看myersguo的持续集成 Hello,Jenkins Plugin。也感谢 myersguo。
下图的变量,如果直接通过等号赋值,会出现什么情况?
答:会把 ${ResultName}当作一个字符串,直接赋值给了你设置的内部变量。
崩溃,这不是我想要的的,我想要的是,识别出来它是形如 ${XXX}的时候,找到在 jenkins 执行 job 的时候,这个 ${XXX}的真正的值。
答:正则表达式!但是我想,应该不会这么脑残(为了交任务,先这么干了)。
hudson.EnvVars 的 expand(String s) 是啥意思?下面是官方 api:
public String expand(String s)
Expands the variables in the given string by using environment variables represented in 'this'.
传送门:jenkins api
具体使用:
public boolean perform(AbstractBuild build, Launcher launcher,
BuildListener listener) throws InterruptedException, IOException {
EnvVars env = build.getEnvironment(listener);
String includes = env.expand(name); //name 是定义的局部变量
这里的 includes,应该就是想要的实参了。
通过上面方法的调用,jenkins 执行的时候,会去环境变量中捞一遍。