Jenkins groovy脚本以获取触发的内部版本号

Jenkins groovy脚本以获取触发的内部版本号,groovy,jenkins,Groovy,Jenkins,我试图写下一个脚本,该脚本将获取由另一个作业触发的构建的构建编号。例如: 我有一个构建作业,它调用另外两个作业(在其他项目上调用/触发构建)。当主作业成功完成时,我希望获得从内部触发的第一个构建作业的编号。我尝试运行的脚本将创建主作业,但是我无法以任何方式获取触发作业的内部版本号 def job = jenkins.model.Jenkins.instance.getItem("Hourly") job.builds.each { def build = it if (it.getResult

我试图写下一个脚本,该脚本将获取由另一个作业触发的构建的构建编号。例如: 我有一个构建作业,它调用另外两个作业(在其他项目上调用/触发构建)。当主作业成功完成时,我希望获得从内部触发的第一个构建作业的编号。我尝试运行的脚本将创建主作业,但是我无法以任何方式获取触发作业的内部版本号

 def job = jenkins.model.Jenkins.instance.getItem("Hourly")
job.builds.each {
def build = it
if (it.getResult().toString().equals("SUCCESS")) {The rest of the code should go here!}
我试图在Jenkins java doc API和在线上找到它,但是没有任何运气。谁能帮我一下吗


另外,脚本在作业完成后运行(仅在需要时触发)。

您可以从(父作业的)生成日志中分析(子作业的)生成编号。 例如:

j = Jenkins.getInstance();
jobName = "parentJobName";
job = j.getItem(jobName);
bld = job.getBuildByNumber(parentBuildNumber);

def buildLog = bld.getLog(10); //make sure you read enough lines
def group = (buildLog =~ /#(\d+) of Job : childJobName with/ );
println("The triggered build number: ${group[0][1]}");