javascript - 使用 Node js 触发 Jenkins 构建

标签 javascript node.js file jenkins build

我有一个 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/

相关文章:

node.js - 在与 api 不同的域上对单页应用程序进行 Auth0 身份验证

node.js - 根据调用 res.render() 的文件的位置更改 Express View 文件夹

java - 如何使用 Printwriter 将字符串数组写入 java 中的文本文件?

php - 文件放置内容换行

javascript - 如何在包含对象的数组中找到正确的属性(按年龄排列)?

javascript - 如何更改 keyCode 中的功能

javascript - 将属性添加到函数声明/表达式内联

javascript - 如何在下拉列表中选择项目名称后显示文字,显示的文字不是select的值

javascript - 链接函数

java - 使用缓冲阅读器读取没有换行符的文件