我有一个 javascript 应用程序,它显示有关 jenkins 工作的信息。直到最近,我使用带有 JSONP 的 ajax 调用从 jenkins 检索数据(jenkins 和客户端位于不同的服务器上),但在最新的 jenkins 版本中,JSONP api 被禁用。
我在 jenkins wiki 上阅读了远程访问 API页面,但我仍然不知道如何从 javascript 中进行操作。我尝试使用基本的 http 身份验证(jenkins 使用 https),但没有成功。我也尝试使用 crumbissuer,但在日志中詹金斯说 crumb 无效......
如何从 javascript 使用 jenkins 远程 api?谢谢。
编辑:
我尝试了这样的http身份验证(我没有确切的代码了):
$.ajax({
dataType : "json",
url : jenkinsURL + "/job/" + jenkinsJob + "/api/json?tree=name,url,color",
beforeSend : function(xhr) {
xhr.setRequestHeader("authorization", "Basic " + Base64.encode(username + ":" + password);
}
})
.done(function(data) {
// process data
})
我尝试类似地使用 crumb issuer:
$.ajax({
dataType : "json",
url : jenkinsURL + "/job/" + jenkinsJob + "/api/json?tree=name,url,color",
beforeSend : function(xhr) {
xhr.setRequestHeader(".crumb", "<received crumb>");
}
})
.done(function(data) {
// process data
})