Jenkins / buildWithParameters POST请求在多分支项目上失败,因为"此版本未参数化"

时间:2018-04-18 06:02:46

标签: jenkins

最近使用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!

2 个答案:

答案 0 :(得分:0)

在jenkins网络应用程序中Jenkins作业的“常规”选项卡下,您必须选中标记为“此项目已参数化”的复选框,然后创建字符串参数(选中此复选框后,其中一种可用参数类型) )你试图将值传递给。

答案 1 :(得分:0)

对于在管道中定义的参数,如果未至少执行一次管道,则詹金斯无法识别它们。