有了json=...,无论何时调用,它都会将参数myParam(值为TEST)传递给作业。但是,Jenkins作业仍然会运行,即使它不需要参数myParam。 唯一不包括的情况是作业具有未在json中传递的参数。即使作业为该参数设置了默认值,作业也将无法运行。在此情况下,调用/build时将遇到以下错误消息/堆栈跟踪: java.lang.IllegalArgumentException: No such parameter definition: myParam 我意识到这个答案已经晚了好几年,但我希望这可能是对别人有用的信息!
9条答案
按热度按时间9wbgstp71#
参见Jenkins文件:* 一个月一次 *
下面是您感兴趣的行:
nimxete22#
在Jenkins作业配置中,勾选名为“
This build is parameterized
“的框,单击“Add Parameter
“按钮并选择“String Parameter
“下拉值。现在定义参数-例如:
现在,您可以在作业/构建管道中使用参数,例如:
接下来,调用以下URL(使用POST或GET),以使用自有/自定义参数触发构建:
mwecs4sa3#
为了补充这个问题,我发现您不必使用
/buildWithParameters
端点。在我的场景中,我有一个脚本触发Jenkins在部署后运行测试,其中一些测试需要关于部署的额外信息才能正常工作。
如果我尝试在一个不需要参数的作业上使用
/buildWithParameters
,该作业将不会运行。我不想进入并编辑每个作业,要求假参数只是为了让作业运行。相反,我发现可以像这样传递参数:
有了
json=...
,无论何时调用,它都会将参数myParam
(值为TEST
)传递给作业。但是,Jenkins作业仍然会运行,即使它不需要参数myParam
。唯一不包括的情况是作业具有未在
json
中传递的参数。即使作业为该参数设置了默认值,作业也将无法运行。在此情况下,调用/build
时将遇到以下错误消息/堆栈跟踪:java.lang.IllegalArgumentException: No such parameter definition: myParam
我意识到这个答案已经晚了好几年,但我希望这可能是对别人有用的信息!
注意:我使用的是Jenkins v2.163
ozxc1zmp4#
您可以简单地尝试使用jenkinsfile。使用以下管道脚本创建Jenkins作业。
手动构建一次作业以进行配置&只需创建一个对Jenkins作业的HTTP POST请求,如下所示。
格式为**
http://server/job/myjob/buildWithParameters?PARAMETER=Value
**b0zn9rqh5#
要传递/使用变量,首先在Jenkins的configure部分创建参数,您使用的参数可以是text、String、file等类型。
创建后,在所需字段中使用变量引用。
例如:我已经为
Email-subject
和Email-recipentList
配置/创建了两个变量,并在EMail-ext
插件中使用了它们的引用(随附的屏幕截图)。wd2eg0qa6#
当我们必须向Jenkins Job发送多个触发器参数时,以下命令起作用。
vs91vp4v7#
您可以使用以下查询远程触发Jenkins构建并传递参数。
JENKINS_URL
(可以是)=https://<your domain name or server address>
TOKE_NAME
可以使用配置选项卡创建ulmd4ohb8#
q0qdq0h29#
您可以根据需要更改以下参数:
注:使用双引号可能很重要,请注意。