最近使用Jenkins,我有一个带有声明性Jenkinsfile的多分支项目。 jenkins文件定义了参数:
Jenkins片段
pipeline {
agent any
parameters {
string(name: 'P_A', defaultValue: 'a', description: 'a')
string(name: 'P_B', defaultValue: 'b@b.com', description: 'b')
}
stages {
在我的多分支项目配置中,我在找到新分支时禁用了SCM触发。我希望通过以下对/ buildWithParameters的调用来按需运行管道。
请求
POST http://127.0.0.1:9000/job/multibranchprojectname/job/jobname/buildWithParameters
Content-type: application/x-www-form-urlencoded
token=&P_A=test&P_B=c@c.com
效应初探
HTTP 500
java.lang.IllegalStateException: This build is not parameterized!
答案 0 :(得分:0)
在jenkins网络应用程序中Jenkins作业的“常规”选项卡下,您必须选中标记为“此项目已参数化”的复选框,然后创建字符串参数(选中此复选框后,其中一种可用参数类型) )你试图将值传递给。
答案 1 :(得分:0)
对于在管道中定义的参数,如果未至少执行一次管道,则詹金斯无法识别它们。