2016-11-23 29 views
5

Jak mogę użyć Jenkins Dynamic Plugin w Jenkinsfile?Parametr dynamiczny w Jenkinsfile?

Co szukam jest Jenkinsfile snippet że:

  • Włącza opcję Build with Parameters w pracy Jenkins
  • Po wybraniu skrypt, który zapełnia listę, która może być używana Dynamic Choice Parameters jest wypełniona a użytkownik zobaczy listę rozwijaną.

Podczas próby:

  1. Pipeline syntax w edytorze Jenkins
  2. Wybór properties: Set job properties jak Sample step
  3. Wybór This project is parameterized
  4. Korzystanie Dynamic Choice Parameter
  5. Wprowadź wartości Name, Choice Script, Remote Script itp
  6. Generate Pipeline Script

otrzymuję następujący szablon:

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

tj wygenerowany skrypt rurociąg nie zawiera danych, które mam wpisane w kroku 5. powyżej. Jak mogę zmodyfikować parameters, aby nazwa parametru, opcje itp. Były widoczne dla użytkownika?


wersja Jenkins: 2.19.3 wersja dynamiczny parametr Plugin: 0.2.0

Odpowiedz

3

nie ma potrzeby już za Jenkins Dynamiczny Plugin już. Po prostu użyj parametru normalnego wyboru lub łańcucha i zaktualizuj wartości za pomocą kodu groovy.

#!/bin/groovy 

def envs = loadEnvs(); 

properties([ 
    parameters([ 
     choice(choices: envs, description: 'Please select an environment', name: 'Env') 
    ]) 
]) 

node { 
    try { 
     stage('Preparation'){ 
... 

Jeśli korzystasz z parametru wyboru, pamiętaj, że musisz podać ciąg znaków, w którym wartości są oddzielone nową linią.

Na przykład:

"a\nb\nc" 

Jeśli naprawdę potrzebujesz wtyczki, a następnie głosować w tej kwestii JENKINS-42149.

+0

W jakiej wersji Jenkinsa? Używam 2.3 i otrzymuję komunikat "Brak takich parametrów metody DSL" znaleziony wśród kroków " –

+0

Zaktualizowany do wersji 2.32.3 i wydaje się, że działa teraz. –

+0

Działa, ale tworzy nowy parametr i utrzymuje wartości w parametrach kompilacji, jeśli zmieniły się wartości rzeczywiste (na przykład lista wersji maven) - nie zaktualizowano wartości parametrów, wydaje się, że loadEnvs() nie jest wykonywane za każdym razem lub coś takiego w tym stylu –

Powiązane problemy