有没有人举个例子,说明如何使用auth并在Java Script中将其设置为jenkins工作?
这就像一个curl post,但是我不确定该怎么做,我找不到传递用户名,令牌以及参数的示例。
答案 0 :(得分:2)
您可以使用jenkins
npm library使用特定用户在npm上执行操作:
import Jenkins = require('jenkins');
const jenkins
Jenkins({ baseUrl: `https://${ username }:${ password }@${ urlToJenkinsInstance }`, crumbIssuer: true })
.then((_jenkins) => {
jenkins = _jenkins;
return new Promise((resolve, reject) => {
// start building a job
jenkins.job.build({
name: jobName,
// put all the parameters here:
parameters: {
PARAM1: 'hello',
PARAM2: 'world'
}
}, function (err, data) {
if (err) { return reject(err); }
resolve(data);
});
});
})
.then((queueId) => {
console.log('job queueId: ', queueId);
})
.catch(printErrorAndExit);
如果需要继续并监视流,则在将作业添加到队列后,需要等待作业开始,这将使用{{1}将jobId
添加到队列项}。
然后,您可以监视实际作业并检查其完成时间。
在下面的代码中,我定义了两个函数jenkins.queue.item(queueId, callback)
和convertQueueIdToBuildId
。
waitForJobToFinish
这将等待队列项开始获取永久性ID,并检查作业状态。我定义了每5秒检查一次的时间间隔。
convertQueueIdToBuildId
这将获得永久性waitForJobToFinish
并每5秒钟检查一次作业的状态。如果它是jobId
,我们可以解决承诺,如果得到SUCCESS
或ABORTED
,我们就错失了诺言,表明事情进展不顺利。我们可以根据承诺的使用来处理使承诺失败或无法解决的事情。
FAILURE