Jenkins POST请求用户名/ API令牌javascript

时间:2015-03-25 17:29:27

标签: javascript rest post jenkins build

我使用chrome扩展程序显示和可视化jenkins服务器中的数据。 我尝试使用jQuery函数$ .ajax()在该服务器上启动某个版本,但由于服务器是安全的,我需要传递用户名和密码。

谷歌搜索了一段时间后,我发现很多人都建议使用这种格式:

http://username:APIToken@jenkinsurl

我已经尝试了这两个,以及用户名和实际密码的组合,但似乎没有任何效果。

我必须注意,我使用Jenkins Test Drivehttp://localhost:8080/用于我的目的,因为我实际上并不拥有jenkins服务器。也许这与上述不起作用有关。

1 个答案:

答案 0 :(得分:0)

事实证明,jenkins需要抢占式身份验证,这意味着我最终要做的就是在ajax调用中添加'beforeSend'选项。

$.ajax({
        type: "POST",
        beforeSend: function (xhr){
            xhr.setRequestHeader('Authorization', "Basic " + btoa("USERNAME" + ":" + "APITOKEN"));
        },
        url: "Jenkins-Job-Url/build?token=TOKEN"
    });