2016-04-22 51 views
1

我對我們的dsl.groovy此項使用價值然後將其分配給downstreamParameterized在詹金斯

downstreamParameterized { 
    trigger('apache_server') { 
    parameters { 
     predefinedProp('APP_PACKAGE_VERSION', "\${APP_PACKAGE_VERSION}") 
    } 
    } 
} 

如果你注意到,值從APP_PACKAGE_VERSION進來StringParam中。我想要發生的是使用我的unix腳本返回的值(此腳本已存在)。我應該如何在Groovy中編寫代碼?

+0

我發現了一個使用EnvInject插件的解決方案,但是dsl.groovy中的代碼是什麼? – devwannabe

回答

0

工作DSL使用Groovy和Groovy的包括execute方法String使執行炮彈可能:

println "script.sh".execute().text 

Yo你可以通過關注這個article瞭解更多。

致電​​將在Job DSL引擎期間解決。因此生成的項目將具有輸出值。

如果您想在每次構建作業時調用腳本,我建議使用Groovy plug-in

+0

這是我在我們的dsl.groovy中做的,它工作得很好。 SOME_VAR = sprintf('\ $ {%s}',['SOME_VAR']) – devwannabe

+0

我也不確定我們在使用什麼。我已經看到來自不同團隊的不同dsl.groovy文件,但是我沒有看到任何包含「def」的代碼。 – devwannabe

+0

@devwannabe這個解決方案如何與從shell腳本獲取輸出有關? – luka5z