簡體   English   中英

Jenkins groovy腳本獲取觸發的內部版本號

[英]Jenkins groovy script to get triggered build number

我正在嘗試寫下一個腳本,該腳本將獲取由另一個作業觸發的內部版本的內部版本號。 例如:我有一個構建作業,它調用了另外兩個作業(Call / trigger在其他項目上構建)。 當主要工作成功完成時,我想獲取從內部觸發的第一個構建工作的編號。 我嘗試運行的腳本可以找到主要工作,但是無論如何我都無法獲得觸發工作的內部版本號。

 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和在線中找到它,但是沒有任何運氣。 有人可以幫我嗎?

PS腳本在作業完成后運行(僅在需要時觸發)。

您可以從(父作業的)構建日志中解析(子作業的)內部版本號。 例如:

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]}");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM