我想运行一个 Jenkis 作业,需要使用 ajax 从网页(jenkins 之外)登录 目前,我必须打开另一个浏览器选项卡并打开 jenkins(并经过身份验证)才能从我的网页运行该作业
iv'e尝试了不同的方法来使用ajax发送身份验证信息 这就是我目前拥有的:
$.ajax({
type: "POST",
url: "http://myjenkins/job/job_name/buildWithParameters",
dataType: 'jsonp',
data: $("#myForm").serialize(),
beforeSend: function(xhr){
xhr.setRequestHeader("Authorization", "username:password");
},
success: function(data) {
},
complete: function(xhr, statusText){
}
});
(还有一些从表单接收参数的 HTML 代码) 如果我有一个经过 Jenkins 身份验证的打开选项卡,则运行正常,但如果没有,我会从 Jenkins 得到“430禁止”响应。
"xhr.setRequestHeader("授权", "用户名:密码");"这只是我最近的尝试...
欢迎任何意见!
最佳答案
这对我有用,非常感谢,只是为了扩展,它有效,因为根据 RFC 1945,授权 header 值应包含用户名:密码作为编码(base64)字符串,这将导致类似于以下 header 的内容:
授权:基本QWxhZGRpbjpvcGVuIHNlc2FtZQ==
示例:
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("username:token"));
}
关于javascript - 使用ajax/javascript登录jenkins,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19154989/