通过Node.js编写js脚本,如何使得该js脚本访问并读出Jenkins的log.html
时间: 2024-02-22 17:56:49 浏览: 210
要通过Node.js编写的js脚本访问并读出Jenkins的log.html页面,您可以使用Node.js内置的HTTP或HTTPS模块发送HTTP请求,并通过流式处理响应来读取页面内容。以下是一个示例代码:
```javascript
const http = require('http');
const fs = require('fs');
const options = {
hostname: 'jenkins.example.com',
path: '/job/your-job-name/lastBuild/logText/progressiveHtml',
port: 8080,
method: 'GET',
auth: 'username:apiToken' // 使用Jenkins的API Token进行身份验证
};
const req = http.request(options, (res) => {
console.log(`statusCode: ${res.statusCode}`);
// 将响应内容写入文件
const fileStream = fs.createWriteStream('log.html');
res.pipe(fileStream);
// 将响应内容输出到控制台
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (error) => {
console.error(error);
});
req.end();
```
以上代码中,我们在options对象中指定了Jenkins的地址、路径(/job/your-job-name/lastBuild/logText/progressiveHtml)、端口号、HTTP方法和身份验证信息,然后发送HTTP GET请求。在响应处理函数中,我们将响应内容写入到名为"log.html"的文件中,并将响应内容输出到控制台。
请注意,这里使用的是logText/progressiveHtml路径,而不是consoleText,因为consoleText返回的文本格式不是HTML,而是纯文本格式。同时,您需要将上述代码中的jenkins.example.com、your-job-name、8080和apiToken替换为您Jenkins实例的实际地址、job名称、端口号和API Token。
另外,如果您需要对页面内容进行解析和处理,您可以使用第三方HTML解析库(如cheerio、jsdom等)来处理HTML文档。
阅读全文