use*_*278 6 jenkins jenkins-api
我有一个 Jenkins 的工作,它被安排在一个特定的时间。我想以编程方式修改该时间。
我尝试通过安装 Schedule Build 插件来修改构建并使用http://jenkins_url/job/jobname/build?delay=3344sec. 但这会将工作置于包含 Java 线程的静默期。我希望在不将其置于安静期的情况下修改 Schedule 条目。
小智 0
我无法让它工作,但插件的源代码引用了“schedule”url 操作和“date”参数。
我尝试过类似的东西:
http://localhost:8080/job/jobname/job/develop/schedule?date=2020-02-20
Run Code Online (Sandbox Code Playgroud)
它没有拒绝,但我看不到构建。
下面是按下按钮进行调度时执行的操作的源代码:
var newRequest = function() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
var sumbitScheduleRequest = function(absoluteUrl, quietPeriodInSeconds, isJobParameterized){
if(isJobParameterized){
// if job has parameters, redirect to build page, so user can set parameters
window.location = absoluteUrl + "build?delay=" + quietPeriodInSeconds + "sec";
}else{
// if job has NO parameters, submit build directly
var csrfCrumb;
var csrfRequest = newRequest();
csrfRequest.onreadystatechange = function() {
if (csrfRequest.readyState === 4) {
if (csrfRequest.status === 200 || csrfRequest.status === 201) {
csrfCrumb = JSON.parse(csrfRequest.responseText);
} else {
// csrf might be deactivated
}
// do the actual submit
var xmlhttp = newRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState === 4) {
if (xmlhttp.status === 200 || xmlhttp.status === 201) {
window.location = absoluteUrl;
return false;
} else {
window.location = absoluteUrl;
return false;
}
}
};
xmlhttp.open("POST", absoluteUrl + "build?delay=" + quietPeriodInSeconds + "sec", true);
if (csrfCrumb) {
xmlhttp.setRequestHeader(csrfCrumb.crumbRequestField, csrfCrumb.crumb)
}
xmlhttp.send();
}
};
csrfRequest.open('GET', rootURL + '/crumbIssuer/api/json', false);
csrfRequest.send();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2189 次 |
| 最近记录: |