簡體   English   中英

Jenkins Job DSL:在作業步驟中在groovyScript中使用參數

[英]Jenkins Job DSL: Using parameters in groovyScript in job step

對於我的生成作業“ generated-job-1”,我需要幾個參數,這些參數在通過URL觸發(generated-job-1的)生成時會傳入。

這是我的Job Definition,其中包含SeedJob DSL中的參數:

job('generated-job-1'){
label ('master')
parameters{
    stringParam('DEPLOY_URI', 'https://192.168.200.176/hyperManager', 'Provide the URL where DeploymentManager can be accessed.')
    stringParam('REG_ID', '12', 'The id of the owner (Registration) of this deployment.')
}
steps {
    groovyCommand(readFileFromWorkspace('stepscript.groovy')){
        prop('name', 'value')
        prop('DEPLOY_URI', $DEPLOY_URI)
    }
}

}

我嘗試使用DEPLOY_URI,$ DEPLOY_URI和$ {DEPLOY_URI},並且構建失敗,並顯示不同的錯誤消息,如No such property:DEPLOY_URI for class:javaposse.jobdsl.dsl.helpers.step.GroovyContext

或ERROR :(腳本,第12行)無此類屬性:類:javaposse.jobdsl.dsl.helpers.step.GroovyContext的$ DEPLOY_URI

或錯誤:(腳本,第12行)方法的無簽名:javaposse.jobdsl.dsl.helpers.step.GroovyContext。$()適用於參數類型:(script $ _run_closure1 $ _closure3 $ _closure4 $ _closure5)值:[腳本$ _run_closure1 $ _closure3 $ _closure4 $ @ _closure5 1a11cf0]

  1. 如何定義這些參數並將其傳遞給step-script.groovy?
  2. 如何在其他步驟(例如shell或batchFile)中使用這些參數?
  3. 如何在step-script.groovy中訪問這些參數以處理給定的數據?

我現在搜索了一段時間,並努力使其正常運作……沒有成功。

非常感謝您的幫助,因為我是Job DSL和Groovy的新手。

預先感謝,安妮

您需要將變量名放在引號中,以便在執行生成的作業而不是在DSL腳本運行時對其進行評估。

job('generated-job-1') {
    parameters {
        stringParam('DEPLOY_URI', '...', '...')
    }
    steps {
        groovyCommand(readFileFromWorkspace('stepscript.groovy')) {
            prop('DEPLOY_URI', '$DEPLOY_URI')
        }
    }
}

暫無
暫無

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

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