1

Dies ist mein Anforderungsparameter in Jenkins zu haben:Mit Key Value Pair in Jenkins

1. User selects 3 Values from Dropdown: DEV, QA, PROD 
2. Upon selection I need to return single value as parameter as like this: 
If DEV selected, return "Development http://dev.com 1" 
If QA selected, return "QA http://qa.com 2" 
If PROD selected, return "Production http://prod.com 3" 
3. Once the value is returned in a variable, I will use that variable value in next step of 'Windows batch command'. 

Wo und wie kann definieren Werte Key /. Ich habe versucht, Extended Choice Parameter-Plugin zu verwenden, aber nicht sicher, wie dies zu tun ist.

Antwort

0

Sie können die Zuordnung in einem groovigen Skript vornehmen. Wenn Sie einen Parameter mit dem Namen inputParam haben, können Sie es zu einem neuen Parameter Karte OutParam in einem System-Groovy Script wie so genannt:

import hudson.model.* 
def parameterMap=[:] 
parameterMap.put('DEV','Development http://dev.com 1') 
parameterMap.put('QA','QA http://qa.com 2') 
parameterMap.put('PROD','Production http://prod.com 3') 

def buildMap = build.getBuildVariables() 
def inputValue=buildMap['InputParam'] 
buildMap['OutParam']=parameterMap[inputValue] 

setBuildParameters(buildMap) 

def setBuildParameters(map) { 
    def npl = new ArrayList<StringParameterValue>() 
    for (e in map) { 
     npl.add(new StringParameterValue(e.key.toString(), e.value.toString())) 
    } 
    def newPa = null 
    def oldPa = build.getAction(ParametersAction.class) 
    if (oldPa != null) { 
     build.actions.remove(oldPa) 
     newPa = oldPa.createUpdated(npl) 
    } else { 
     newPa = new ParametersAction(npl) 
    } 
    build.actions.add(newPa) 
} 

wählen System Groovy Skript als erste Build-Aktion ausführen. Sie können dann auf den Ausgabeparameter als Umgebungsvariable in der Windows-Shell zugreifen, z. ECHO %OUTPARAM%

2

dies erreicht werden kann, die aktive Wahl-Plugin, Unten finden Sie den Link und das Bild für Ihre Referenz

Plugin Referenz: https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin

enter image description here

Eine andere Methode ohne Plugins

Mit Shell-Skript kann dies

erreicht werden

Fügen Sie einen Build-Schritt als Shell-Skript hinzu und fügen Sie das folgende Skript hinzu, das Ihre Werte zurückgibt. Sagen wir den Namen Drop-Down-Paramater ist "env"

if [ $env == "DEV" ] 
then 
    url = "Development http://dev.com 1" 
elif [ $env == "QA" ] 
then 
    url = "QA http://qa.com 2" 
elif [ $env == "PROD" ] 
then 
    url = "Production http://prod.com 3" 
fi 

Die $ url Variable den erwarteten Wert wird mit, die in Ihrem nächsten Build verwendet werden können, die Schritte

Shell Script Referenz: http://www.tutorialspoint.com/unix/if-elif-statement.htm

Verwandte Themen