首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Javascript访问Jenkins API

要使用 JavaScript 访问 Jenkins API,你可以利用XMLHttpRequest对象或fetch API 来发送 HTTP 请求。以下是具体的步骤和示例代码:

准备工作

  • 获取 Jenkins URL:确定你的 Jenkins 服务器的 URL,例如http://your-jenkins-server-url:port
  • 获取 API Token:在 Jenkins 中生成一个 API Token 用于认证。你可以在用户设置中找到 “API Token” 选项来生成。

使用 XMLHttpRequest 对象

  • 发送 GET 请求:以下是一个使用XMLHttpRequest发送 GET 请求来获取 Jenkins 项目列表的示例:
代码语言:javascript
复制
// 创建XMLHttpRequest对象
const xhr = new XMLHttpRequest();

// 配置请求
xhr.open('GET', 'http://your-jenkins-server-url:port/api/json', true);
xhr.setRequestHeader('Authorization', 'Basic ' + btoa('your-username:your-api-token'));

// 发送请求
xhr.send();

// 处理响应
xhr.onload = function() {
    if (xhr.status === 200) {
        const responseData = JSON.parse(xhr.responseText);
        console.log(responseData);
    } else {
        console.error('请求失败:', xhr.status);
    }
};

xhr.onerror = function() {
    console.error('请求出错');
};
  • 发送 POST 请求:假设你要创建一个新的 Jenkins 任务,以下是发送 POST 请求的示例:
代码语言:javascript
复制
const xhr = new XMLHttpRequest();

const newJobData = {
    name: 'new-job-name',
    // 其他任务配置参数
};

xhr.open('POST', 'http://your-jenkins-server-url:port/createItem', true);
xhr.setRequestHeader('Authorization', 'Basic ' + btoa('your-username:your-api-token'));
xhr.setRequestHeader('Content-Type', 'application/json');

xhr.send(JSON.stringify(newJobData));

xhr.onload = function() {
    if (xhr.status === 201) {
        console.log('任务创建成功');
    } else {
        console.error('任务创建失败:', xhr.status);
    }
};

xhr.onerror = function() {
    console.error('请求出错');
};

使用 fetch API

  • 发送 GET 请求:使用fetch发送 GET 请求获取 Jenkins 项目列表:
代码语言:javascript
复制
fetch('http://your-jenkins-server-url:port/api/json', {
    method: 'GET',
    headers: {
        'Authorization': 'Basic ' + btoa('your-username:your-api-token')
    }
})
.then(response => {
    if (!response.ok) {
        throw new Error('请求失败:' + response.status);
    }
    return response.json();
})
.then(data => {
    console.log(data);
})
.catch(error => {
    console.error('请求出错:', error);
});
  • 发送 POST 请求:使用fetch发送 POST 请求创建新任务:
代码语言:javascript
复制
const newJobData = {
    name: 'new-job-name',
    // 其他任务配置参数
};

fetch('http://your-jenkins-server-url:port/createItem', {
    method: 'POST',
    headers: {
        'Authorization': 'Basic ' + btoa('your-username:your-api-token'),
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(newJobData)
})
.then(response => {
    if (response.status === 201) {
        console.log('任务创建成功');
    } else {
        throw new Error('任务创建失败:' + response.status);
    }
})
.catch(error => {
    console.error('请求出错:', error);
});

在实际应用中,你需要将http://your-jenkins-server-url:port替换为真实的 Jenkins 服务器地址和端口,your-usernameyour-api-token替换为你的用户名和 API Token。同时,根据你的具体需求,可以调整请求的 URL、方法和参数,以实现对 Jenkins API 的各种操作,如获取任务信息、触发构建、获取构建结果等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Google JavaScript API 的使用

    入门 您可以使用JavaScript客户端库与Web应用程序中的Google API(例如,人物,日历和云端硬盘)进行交互。请按照此页面上的说明进行操作。...如何发出API请求 有几种方法可以使用JavaScript客户端库发出API请求,但是它们都遵循相同的基本模式: 该应用程序加载JavaScript客户端库。...应用程序使用API​​密钥,OAuth客户端ID和API发现文档初始化库。 应用程序发送请求并处理响应。 以下各节显示了使用JavaScript客户端库的3种常用方法。...启用Google API 接下来,确定您的应用程序需要使用哪些Google API,并为您的项目启用它们。使用API资源管理器浏览JavaScript客户端库可以使用的Google API。...获取您的应用程序的访问密钥 Google定义了两个级别的API访问权限: 水平 描述 要求: 简单 API调用不会访问任何私人用户数据 API密钥 已授权 API调用可以读写私有用户数据或应用程序自己的数据

    3K20

    使用OAuth 2.0访问谷歌的API

    例如,JavaScript应用程序并不需要一个秘密,但在Web服务器应用程序一样。 2.从谷歌授权服务器的访问令牌。 在应用程序能够使用谷歌API来访问私人数据,它必须获得令牌授予访问该API的访问。...例如,一个JavaScript应用程序可能会请求令牌使用的浏览器重定向到谷歌的访问,而一个应用程序,没有浏览器使用Web服务请求的设备上安装。 一些请求需要在用户与他们的谷歌帐户登录的验证步骤。...应用程序应该保存令牌以供将来使用刷新和使用令牌来访问谷歌的API访问。一旦访问令牌过期后,应用程序使用令牌来获得一个新的刷新。 有关详细信息,请参阅使用OAuth 2.0安装的应用程序。...客户端(JavaScript)的应用 该谷歌的OAuth 2.0端点支持,在浏览器中运行的JavaScript应用程序。...谷歌API客户端库的Java 谷歌API客户端库的Python 谷歌API客户端库围棋 谷歌API客户端库的.NET 谷歌API客户端库的Ruby 谷歌API客户端库PHP 谷歌API客户端JavaScript

    4.5K10

    使用JWT来实现对API的授权访问

    这是最常见的JWT使用场景。一旦用户登录,每个后续请求将包含一个JWT,作为该用户访问资源的令牌。 信息交换。...本文讨论第一点,如何利用JWT来实现对API的授权访问。这样就只有经过授权的用户才可以调用API。 JWT的结构 ? JWT由三部分组成,用.分割开。...Header 第一部分为Header,通常由两部分组成:令牌的类型,即JWT,以及所使用的加密算法。...在JAVA里使用JWT 引入依赖 ? 这里使用了一个叫JJWT(Java JWT)的库。 JWT Service ? 生成JWT这里设置过期时间为10秒,因此生成的JWT只在10秒内能通过验证。...如果使用Filter,那么刷新的操作要在调用doFilter()之前,因为调用之后就无法再修改response了。 API ? 这时候API就处于JWT的保护下了。

    1.7K10

    Kubernetes API 访问控制

    可以使用kubectl、客户端库方式对REST API的访问,Kubernetes的普通账户和Service帐户都可以实现授权访问API。...API的请求会经过多个阶段的访问控制才会被接受处理,其中包含认证、授权以及准入控制(Admission Control)等。如下图所示: ? 需要注意:认证授权过程只存在HTTPS形式的API中。...Kubernetes授权要求使用公共常见得REST属性与云提供商的访问控制系统进行交互。为了避免访问控制系统与Kubernetes API与外部API的冲突,所以必须使用REST格式。...当管理员创建集群时,他们将会配置在API Server中使用的授权模块。...在Google Compute Engine(GCE)或其他云提供商使用kube-up.sh创建集群时 API Server提供 443端口 GCE项目配置防火墙 允许API进行外部HTTPS访问

    1.6K30

    通过 API 远程管理 Jenkins

    例如,我们搭建的Jenkins站点为http://jenkins.debugtalk.com:8080,那么,访问http://jenkins.debugtalk.com:8080/api即可查看到该站点所有可用的...android_core_dashboard_trunk,那么我们访问http://jenkins.debugtalk.com:8080/job/android_core_dashboard_trunk...以salimfadhley/jenkinsapi为例,通过使用jenkinsapi,我们在Python中就可以很方便地管理Jenkins。 常见的操作方式示例如下。...有些同学在认真研究了这些开源库后也许会说,官方文档已经翻遍了,但是文档中对用法的描述太少了,也没给出API调用的实例,还是不知道怎么使用啊。这个问题在开源库中的确是普遍存在的。...我们通过阅读测试代码,就可以充分了解API接口的使用方法了,这也比直接阅读文档有效率得多。 本文转自公众号“DebugTalk”,原文:通过 API 远程管理 Jenkins 。

    1.9K40

    Jenkins安全配置访问控制审计 原

    Jenkins的安全配置: 系统设置→Configure Global Security 访问的页面为http://my.jenkins.server/configureSecurity/ 勾选启用安全的复选框就可以在...Jenkins访问控制分为:安全域(即认证)与授权策略。 安全域决定Jenkins在认证的过程中从哪里寻找用户,默认包括的选项有:Jenkins专有用户数据库,LDAP,Servlet容器代理。...例如:通过Active Directory Plugin可以使用Microsoft Active Directory(即windows域账号)来进行认证,通过Crowd Plugin可以使用Atlassian...Crowd来进行认证 …… 此外,如果没有可用的插件,Script Security Realm Plugin允许你使用自定义的脚本进行认证。...审计——跟踪用户的行为 除了配置用户的帐号和访问权限,跟踪用户的操作也是有用的。

    1.4K10

    IdentityServer(11)- 使用Hybrid Flow并添加API访问控制

    在之前的文章,我们探索了API访问控制和身份认证。 现在我们要把这两个部分结合在一起。 OpenID Connect和OAuth 2.0组合的优点在于,您可以使用单一协议和令牌服务进行单一交换。...首先,我们希望允许客户端使用混合流,另外我们还希望客户端允许服务器到服务器API调用,这些调用不在用户的上下文中(这与我们的客户端证书quickstart非常相似)。...最后,我们还让客户端访问offline_access作用域 - 这允许为长时间的API访问请求刷新令牌: new Client { ClientId = "mvc", ClientName...使用访问令牌 OpenID Connect中间件会自动为您保存令牌(标识,访问和刷新)。 这就是SaveTokens设置的作用。 技术上,令牌存储在cookie。...访问它们的最简单方法是使用Microsoft.AspNetCore.Authentication命名空间的扩展方法。

    1.2K40
    领券