Jenkins POST 请求 username/API 令牌 javascript
Jenkins POST Request with username/API Token javascript
我正在使用 chrome 扩展来显示和可视化来自 jenkins 服务器的数据。
我尝试使用 jQuery 函数 $.ajax() 在该服务器上启动某个构建,但由于服务器是安全的,我需要传递用户名和密码。
在谷歌搜索了一段时间后,我发现很多人建议使用这种格式:
http://username:APIToken@jenkinsurl
我已经尝试过这两种方法,以及用户名和实际密码的组合,但似乎没有任何效果。
我必须指出,我使用 Jenkins Test Drive, and http://localhost:8080/ 是为了我的目的,因为我实际上并不拥有 Jenkins 服务器。也许这与上述不起作用有关。
事实证明,jenkins 需要抢先式身份验证,这意味着我最后所做的就是将 'beforeSend' 选项添加到 ajax 调用中。
$.ajax({
type: "POST",
beforeSend: function (xhr){
xhr.setRequestHeader('Authorization', "Basic " + btoa("USERNAME" + ":" + "APITOKEN"));
},
url: "Jenkins-Job-Url/build?token=TOKEN"
});
我正在使用 chrome 扩展来显示和可视化来自 jenkins 服务器的数据。 我尝试使用 jQuery 函数 $.ajax() 在该服务器上启动某个构建,但由于服务器是安全的,我需要传递用户名和密码。
在谷歌搜索了一段时间后,我发现很多人建议使用这种格式:
http://username:APIToken@jenkinsurl
我已经尝试过这两种方法,以及用户名和实际密码的组合,但似乎没有任何效果。
我必须指出,我使用 Jenkins Test Drive, and http://localhost:8080/ 是为了我的目的,因为我实际上并不拥有 Jenkins 服务器。也许这与上述不起作用有关。
事实证明,jenkins 需要抢先式身份验证,这意味着我最后所做的就是将 'beforeSend' 选项添加到 ajax 调用中。
$.ajax({
type: "POST",
beforeSend: function (xhr){
xhr.setRequestHeader('Authorization', "Basic " + btoa("USERNAME" + ":" + "APITOKEN"));
},
url: "Jenkins-Job-Url/build?token=TOKEN"
});