问题
假设我有一个 jenkins/hudson 工作(例如自由式),它需要两个参数PARAM_ONE和PARAM_TWO。现在,我不知道这些参数的值,但我可以运行一些脚本(perl/shell)来查找这些参数的值,然后我希望用户从下拉列表中进行选择,然后我可以开始构建。
有没有办法做到这一点?
问题
假设我有一个 jenkins/hudson 工作(例如自由式),它需要两个参数PARAM_ONE和PARAM_TWO。现在,我不知道这些参数的值,但我可以运行一些脚本(perl/shell)来查找这些参数的值,然后我希望用户从下拉列表中进行选择,然后我可以开始构建。
有没有办法做到这一点?
听起来您已经找到了一个可以满足您需要的插件,它与内置的参数化构建功能非常相似。
要回答您的第二个问题:当您定义参数化构建时,参数通常作为环境变量传递给您的工作。因此,您可以访问它们,但是您可以使用您的语言访问环境变量,例如,如果您定义了一个 parameter PARAM_ONE
,您可以通过以下方式访问它:
在 bash 中:
$PARAM_ONE
在 Windows 批处理中:
%PARAM_ONE%
在 Python 中:
import os
os.getenv('PARAM_ONE')
等等
我想这对于您正在使用的扩展选择参数插件来说是一样的。
在 Java 中,您可以从运行对象访问这些参数
EnvVars envVars = new EnvVars();
envVars = run.getEnvironment(listener);
for (String envName2 : envVars.keySet()) {
listener.getLogger().println(envName2 + " = " + envVars.get(envName2));
}