gpt4 book ai didi

javascript - 使用 Node js 触发 Jenkins 构建

转载 作者:行者123 更新时间:2023-12-03 02:30:51 30 4
gpt4 key购买 nike

我有一个 Jenkins 工作,需要一个文件作为输入。该作业读取输入文件,然后处理该作业。

我正在尝试从 Node js 脚本运行 jenkins 作业。我可以使用 npm 的 jenkins api 运行特定的作业。

我的问题是我无法通过传递所需的文件来运行该作业。

在 Jenkins 中,我必须找到特定的作业,然后迁移到它,然后单击“使用参数构建”,然后选择文件并构建。

我试图通过一个 React UI 来简化这个过程,该 UI 将文件作为输入并将其提交给 Node js 脚本。现在该脚本必须将文件上传到 Jenkins,然后构建作业。

Node js 代码是,

var file0 = '/Users/m0a00pf/Documents/react-js/asda/src/files/APA.csv';
exports.buildJenkinsJob = function buildJenkinsJob(){
jenkins.job.build({"name":"Create a job",
"parameters":
{
"name": "\\src\\main\\resources\\com\\asda\\qa\\data\\APA\\APA.csv", "file": file0
}
}
,function(err, data){
if(err)
throw err;
else
console.log(data);
});
}

参数部分不起作用。当我运行时。

jenkins.job.build({"Create a job"});

这很好用。

最佳答案

将选项更改为,

    var options = {
method: 'POST',
url: 'http://localhost/job/JobName/buildWithParameters?delay=0sec&Jenkins-Crumb=asdf345672das',
auth : {
username : jenkins.username,
password : jenkins.password
},
headers:
{
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
},
body:
{
'fileParameterName' :
{ value: fs.createReadStream(absoluteFilePath), options: { filename: FileName, contentType: null } },
'param': 'value'
}

};

关于javascript - 使用 Node js 触发 Jenkins 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48746878/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com