我尝试选择所有当前正在运行的进程,以使正在运行的管道的BuildNumber
和JobName
最终有可能杀死它们。但是,如果我使用Jenkins API来收集BuildNumber
和JobName
,我将得到返回值:
[(master)]:
[org.jenkinsci.plugins.workflow.job.WorkflowJob@6b41187c[myPipeline], org.jenkinsci.plugins.workflow.job.WorkflowJob@6296243a[myDeploy]]
我假设“@6296243a[myDeploy]”是我需要的信息。但“6296243a”不是有效的BuildNumber
。我真的不知道这个数字代表什么。可能是进程ID。“myDeploy”是我需要的JobName
。
那么我的问题是,为什么我不能在这里获得有效的“BuildNumber”呢?
import jenkins.model.*
import hudson.model.*
def result = []
def buildingJobs = Jenkins.instance.getAllItems(Job.class).findAll {
it.isBuilding()
}
println buildingJobs
最后,我想在以下位置使用这两个信息:
Jenkins.instance
.getItemByFullName(<JobName>)
.getBuildByNumber(<BuldNumber>)
.finish(hudson.model.Result.ABORTED, new java.io.IOException("Aborting build"));
如果我在这里使用值BuildNumber: 6296243a``JobName: myDeploy
,它将不起作用。如果我在视图(2357)中使用BuildNumber
,它工作得很好。
那么,有谁能提示一下如何接收真正的BuildNumber
呢?
1条答案
按热度按时间of1yzvn41#
在您提供的示例代码中,
buildingJobs
将拥有一个WorkflowJob对象列表。因此,当您打印它时,您将获得对对象的引用。下面是如何获取当前运行和暂停的构建的构建ID和作业名称。