2017-02-02 1 views
0

Je transmets le travail de modèle ainsi que l'URL de la branche SVN en tant que paramètres de chaîne au script job-dsl. (En utilisant l'option de construction paramétrée).Comment accéder aux paramètres de chaîne dans le travail dsl

def template = "${template_job}" 
def url = "${svn_url}" 
job('example') { 
    using('template') 
configure { node -> 
    node/scm/branches/'hudson.scm.SubversionSCM_-ModuleLocation'/name('url') 
    } 
} 

mais je suis face à l'erreur comme:

Processing provided DSL script 
ERROR: (script, line 1) No signature of method: script.$() is applicable for argument types: (script$_run_closure1) values: [[email protected]] 
Possible solutions: is(java.lang.Object), run(), run(), any(), job(java.lang.String), any(groovy.lang.Closure) 

Toute suggestion comment accéder aux paramètres de chaîne dans le travail-dsl? Merci.

+0

@daspilker: Toutes les suggestions s'il vous plaît. Merci – voltas

Répondre

2

Vous n'avez pas besoin d'envelopper les paramètres dans les chaînes. Ce sont déjà des cordes. Si vos paramètres sont template_job et svn_url, cela devrait fonctionner:

job('example') { 
    using(template_job) 
    configure { node -> 
    node/scm/branches/'hudson.scm.SubversionSCM_-ModuleLocation'/name(svn_url) 
    } 
} 
+0

Merci pour votre contribution! . Avec mon code actuel, je ne suis pas en mesure de modifier la valeur Subversion "URL du référentiel" pour le nouveau travail. Il pointe toujours vers le modèle d'emplois SVN URL. Je passe actuellement la nouvelle URL SVN comme paramètre de chaîne via l'option build with Parameters. Vraiment hâte pour vos suggestions. THnaks Ma version de Jenkins - 2.3.1 – voltas

+0

Je l'ai trouvée en utilisant scm {svn (svn_url)} .. – voltas

+0

Une autre option consiste à référencer le paramètre en tant que '" $ {template_job} "'. – thiagowfx