2016-11-23 7 views
5

Wie kann ich die Jenkins Dynamic Plugin in einer Jenkinsfile verwenden?Dynamischer Parameter in Jenkinsfile?

Was ich suche ist ein Jenkinsfile Snippet, dass:

  • Aktiviert die Build with Parameters Option im Jenkins Job
  • Wenn ausgewählt, ein Skript, das eine Liste auffüllt, die Dynamic Choice Parameters bevölkert verwendet werden kann und die Benutzer wird eine Dropdown-Liste sehen.

Beim Versuch:

  1. Pipeline syntax im Editor Jenkins
  2. Auswahl properties: Set job properties als Sample step
  3. Auswahl This project is parameterized
  4. Mit Dynamic Choice Parameter
  5. Geben Sie Werte für Name, Choice Script, Remote Script etc
  6. Generate Pipeline Script

ich die folgende Vorlage erhalten:

properties([ 
    parameters([ 
     <object of type com.seitenbau.jenkins.plugins.dynamicparameter.ChoiceParameterDefinition> 
    ]), 
    pipelineTriggers([]) 
]) 

heißt das erzeugte Pipeline Skript nicht die Daten enthalten, die ich 5. oben in Schritt eingegeben haben. Wie kann ich parameters so ändern, dass Parametername, Auswahlmöglichkeiten usw. für den Benutzer sichtbar sind?


Jenkins Version: 2.19.3 Dynamische Parameter Plugin-Version: 0.2.0

Antwort

3

gibt es keine Notwendigkeit mehr für die Jenkins Dynamische Plugin mehr. Verwenden Sie einfach den normalen Auswahl- oder String-Parameter und lassen Sie die Werte durch den groovigen Code aktualisieren.

Wenn Sie den Auswahlparameter verwenden, beachten Sie, dass Sie eine Zeichenfolge angeben müssen, bei der die Werte durch eine neue Zeile getrennt sind.

Zum Beispiel:

"a\nb\nc" 

Wenn Sie wirklich Plugin benötigen, dann stimmen Sie zu diesem Thema JENKINS-42149.

+0

In welcher Version von Jenkins? Ich bin 2.3 und bekomme den Fehler "Keine solchen DSL-Methode 'Parameter unter den Schritten gefunden" –

+0

Auf 2.32.3 aktualisiert und es scheint jetzt zu arbeiten. –

+0

Es funktioniert, aber es erstellt neue Parameter und behält Werte in Build-Parametern, wenn tatsächliche Werte (z. B. Liste der Maven-Versionen) geändert-Parameter Werte nicht aktualisiert, scheint LoadEnvs() nicht jedes Mal oder etw wie folgt ausgeführt wird –

Verwandte Themen