我正在使用Jenkins ver。 1.406并且无法使用AJAX触发参数化(3个字符串)构建。
有些文档谈论“令牌”,但在Jenkin的OR工作配置面板中没有这样的选项。
我正在发送这样的ajax调用:
var jqxhr = $.post(
"http://servername:8080/job/jab-name/build/api/json",
{ "parameters": [{ "PARAM1": "value1" }, { "PARAM2": "value2" }] },
"json"
)
.success(function () { alert("success"); })
.error(function (xhr, ajaxOptions, thrownError) { alert("Error\nxhr.status = [" + xhr.status + "]\n xhr.status: [" + xhr.statusText + "]\najaxOptions = [" + ajaxOptions + "]"); })
.complete(function () { alert("complete"); });
参数正确(区分大小写)并且所有参数都已设置,而不是使用默认值。
任何人都可以提供帮助? 谢谢!
答案 0 :(得分:4)
要检查的一些事项
您是否选中了“远程触发构建(例如,从脚本)”选项?如果选中,则会出现输入令牌的文本框。
你使用安全吗?如果是,则必须对Jenkins进行身份验证。
查看https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API(需要使用json触发参数化构建的语句是错误的)
答案 1 :(得分:2)
我认为您必须在网址中将build
替换为buildWithParameters
。
var jqxhr = $.post(
"http://servername:8080/job/jab-name/buildWithParameters/api/json",
{ "parameters": [{ "PARAM1": "value1" }, { "PARAM2": "value2" }] },
"json"
)
.success(function () { alert("success"); })
.error(function (xhr, ajaxOptions, thrownError) { alert("Error\nxhr.status = [" + xhr.status + "]\n xhr.status: [" + xhr.statusText + "]\najaxOptions = [" + ajaxOptions + "]"); })
.complete(function () { alert("complete"); });