我已经创建了一个Jenkins作业,可以通过POST API调用(即buildWithParameters端点)。
如果我在URL中编码参数,它就可以正常工作。请参见下面的示例:
http://localhost:80/job/remote-job-2/buildWithParameters?token=password123&org=example.com
但是,我想在这个POST请求的主体中传递参数,如下所示:
{
"token": "password123"
"org" : "example.com"
}
注:我能找到的最接近的答案是What is the format of the JSON for a Jenkins REST buildWithParameters to override the default parameters values。不幸的是,当我在postman上运行这个时,这对我不起作用。失败,出现+500服务器错误。
2条答案
按热度按时间vc6uscn91#
经过多次测试,发送了一个json:
或
许多其他的组合只有通过将参数作为标准的html表单字段发送才能对我起作用。
例如在java/spring/restTemplate中:
tf7tbtn22#
在python中,我被逼疯了,直到我看到为了发布 form data,我必须传递一个字典给“data=",而不是一个json字符串。下面是一个例子:
“延迟”:“0”也将立即构建,忽略Jenkins作业上设置的任何“静默期”。