首页
学习
活动
专区
工具
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 的各种操作,如获取任务信息、触发构建、获取构建结果等。

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

相关·内容

领券