Ajax jQuery授权的Jenkins API调用
我在进行经过身份验证的Jenkins API调用时遇到问题-我正在尝试检索一些JSON数据。我在jQuery的网页上使用它-任何有Jenkins经验的人,有什么想法吗 注意:密码是来自Jenkins的用户API密钥Ajax jQuery授权的Jenkins API调用,ajax,json,jenkins,Ajax,Json,Jenkins,我在进行经过身份验证的Jenkins API调用时遇到问题-我正在尝试检索一些JSON数据。我在jQuery的网页上使用它-任何有Jenkins经验的人,有什么想法吗 注意:密码是来自Jenkins的用户API密钥 $.ajax ({ type: "GET", url: "http://jenkinsurl/build3/testReport/api/json", dataType: 'jsonp', username: "jenkinsusername", password
$.ajax
({
type: "GET",
url: "http://jenkinsurl/build3/testReport/api/json",
dataType: 'jsonp',
username: "jenkinsusername",
password: "1axxxxsdasde3ad8",
success: function (){
alert('To test it worked');
}
});
谢谢我一直在做类似的事情;遇到了各种各样的问题。关于这类事情的文献资料很少。但最终它成功了,至少在我的詹金斯身上。有一种可能性是,以下内容不适用于所有Jenkins认证插件;我只针对内置身份验证和脚本身份验证进行了测试 要进行身份验证,请在java脚本中执行以下操作:
$.ajax(jenkins_relative_url + 'j_acegi_security_check', {
type: "POST",
dataType: "text",
async: true,
headers: {
"Content-type": "application/x-www-form-urlencoded"
},
data: {"j_username": username, "j_password": password},
});
上面的ajax调用将加载cookies,Jenkins使用cookies来确定您是否经过身份验证。之后,您可以在何处进行相同的$.ajax调用,但不需要用户名和密码参数。您只需验证一次,然后对Jenkins拨打任意数量的电话,只要您随身携带这些cookies。请描述实际出了什么问题。该URL看起来可疑。首先,尝试在浏览器中查询url,以验证是否返回了内容。然后,尝试在浏览器的web开发者控制台中使用ajax调用。我在浏览器中试过了,效果很好。谢谢。不过到目前为止运气不好。使用j_acegi_security_check url,在我的浏览器中,将我带到登录错误页面。是否有可能检查我的Jenkins安装程序是否可以使用它?在我的情况下,我使用的是运行在Windows上的独立Jenkins;不在雄猫后面。这可能与此有关。