我安裝了SetEnv plugin,它在任務期間可以很好地獲取變量。是否可以在狀態電子郵件中訪問setenv hudson插件變量?
不幸的是,當我嘗試在結果狀態電子郵件中使用env變量時,我根本沒有運氣。這應該工作嗎?
我已經嘗試了$ VARNAME和$ {VARNAME} - 兩者都沒有在電子郵件中正確替換。
我安裝了SetEnv plugin,它在任務期間可以很好地獲取變量。是否可以在狀態電子郵件中訪問setenv hudson插件變量?
不幸的是,當我嘗試在結果狀態電子郵件中使用env變量時,我根本沒有運氣。這應該工作嗎?
我已經嘗試了$ VARNAME和$ {VARNAME} - 兩者都沒有在電子郵件中正確替換。
在電子郵件通知中使用環境變量(或任何變量)的最簡單方法是使用Email-ext plugin。
檢查他們的「內容令牌參考」的具體細節,但總之你會得到更復雜的替代。下面是我經常使用的幾個:
該插件可以很容易地在Hudson配置中定義一個基礎「全局」模板,然後在作業配置中「擴展」該模板 - 添加額外的細節。它還允許您根據構建狀態/結果更細化地路由通知。
它看起來像我將不得不等待這樣的:
這是可能的了。看起來你正在使用錯誤的語法。如前所述,email-ext插件具有訪問環境變量的特定方法。嘗試把這個在電子郵件正文代替:
${ENV, var=VARNAME}
的另一種方法是使用Hudson的執行shell功能在生成和解析它使用BUILD_LOG_REGEX爲呼應環境變量。
例如,你可以在執行shell部分有這樣的:
echo "Output: ${VARNAME}"
,並使用
${BUILD_LOG_REGEX, regex="^Output:", showTruncatedLines=false, substText=""}
也不起作用。 – Tim 2010-12-22 13:57:45
對不起,你是對的,它應該是:$ {ENV,var =「VARNAME」} – 2010-12-22 15:36:54
我使用該插件解析它在電子郵件。重點是另一個允許我添加env變量的插件似乎並不是將該值「導出」到電子郵件插件中。 – Tim 2010-12-21 19:02:25
我猜SetEnv-plugin的實現將變量注入每個構建步驟(Hudson爲每個構建步驟使用一個新的外殼)。由於Email-ext沒有創建單獨的shell,因此我並不期望Email-ext插件具有其他環境變量。可能是一個有趣的插件功能要求。現在的問題是,什麼需要改變什麼插件,使其工作。 – 2010-12-21 19:12:48
昨天我發現了一些有趣的事情 - 一個新的插件定義/要求正在制定。一個新的電子郵件插件,以取代核心和電子郵件插件。我添加了訪問env vars的請求。 (http://wiki.hudson-ci.org/display/HUDSON/The+new+EMailer) – Tim 2010-12-21 19:18:33