我有Jenkins的作業,執行shell部分,其中我有一些變量 BUILD是動態填充的。將變量從shell傳遞給Jenkins中的email-ext
生成執行後,我想將此變量傳遞給email-ext插件默認內容以顯示它的值。
我試過幾種方法沒有成功:
- 傳遞默認內容此$ {} BUILD價值無法識別(只有詹金斯環境變量是可見在這方面)
- 新定義詹金斯的全球環境變量,並試圖覆蓋其殼層上下文,這顯然是不可能的初始值
任何想法如何做到這一點?
我有Jenkins的作業,執行shell部分,其中我有一些變量 BUILD是動態填充的。將變量從shell傳遞給Jenkins中的email-ext
生成執行後,我想將此變量傳遞給email-ext插件默認內容以顯示它的值。
我試過幾種方法沒有成功:
任何想法如何做到這一點?
使用EnvInject Plugin在「shell部分」中寫入該文件後,從文件中讀取該變量。
一般來說,環境變量永遠不會從子進程回到父進程,這是Windows和Unix操作系統系列的基本特徵。孩子總是獲得父母環境的副本,並且如果它修改了它,它會修改它自己的副本(如果它啓動了任何子進程,它將被複制到任何子進程中)。但是爲了恢復變更,還必須使用其他方法,例如子文件對文件進行所需的更改,然後由父文件進行解析,然後可以基於此文件編輯它自己的環境。
沒有必要。我找到了更簡單的方法來做到這一點。 Email-ext插件支持可編寫Groovy代碼的預先電子郵件腳本。因此,在shell部分中,我將數據寫入文件並使用Groovy腳本,正在讀取該數據並傳遞給MimeMessage變量: String fileContents = new File(「file.txt」)。text msg .setText(fileContents, 「UTF-8」); – 2013-04-26 09:41:51
你可以分享完整的groovy腳本,從文件加載變量 – user2400564 2016-05-23 02:42:25