2011-05-21 35 views
2

我正在使用Jenkins ver。 1.406,并且无法使用AJAX触发参数化(3字符串)构建。通过ajax使用远程API触发参数化作业构建

有些文档讨论的是“令牌”,但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"); }); 

参数是否正确(区分大小写),所有这些都设置,不使用默认值(S)的。

任何人都可以帮忙吗? 谢谢!

回答

2

我认为你必须在你的URL中用替换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"); }); 
+0

不工作,要么,我回来“0”状态响应 – user706058 2011-05-22 12:15:04

+0

我测试现在有了相同的结果。这可能是一个跨站点脚本问题,但我不确定。 – 2011-05-24 20:43:49

4

有几件事情要检查

  1. 你检查 “触发建立远程(例如,从脚本)” 选项?如果选中,将会有文本框输入您的令牌。

  2. 你使用安全吗?如果是的话,你必须验证詹金斯。

  3. 看一看https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API(你需要使用JSON触发参数化的构建说法是错误的)

+0

嗨;在我尝试运行的Jenkins工作中,没有启用Trigger Build“选项,Jenkins和服务器级别都没有安全性(没有基本/ LDAP/Active Directory认证请求),我尝试了维基页面,它没有工作,所以我试着在URL中的“/ api/json”部分,但没有帮助。 – user706058 2011-05-24 08:56:19

+0

你需要检查“触发器远程构建”,否则你是运气不好。AFAIK, t需要配置一个令牌,然后调用http:// server/job/myjob/buildWithParameters?PARAMETER = Value或者使用其余的API - 供参考另请参阅https://wiki.jenkins-ci.org/display/ JENKINS /参数+编译 – 2011-06-07 13:17:48

相关问题