2017-02-02 1 views
0

나는 job-dsl 스크립트에 문자열 매개 변수로 SVN 분기 URL뿐만 아니라 템플릿 작업도 전달합니다. (매개 변수화 된 빌드 옵션 사용).dsl 작업의 문자열 매개 변수에 액세스하는 방법

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

하지만이 같은 오류에 직면하고 있습니다 :

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) 

어떤 제안을 어떻게 작업-DSL의 문자열 매개 변수를 액세스하는 방법? 감사.

+0

@daspilker : 어떤 제안하시기 바랍니다. 감사합니다 – voltas

답변

2

문자열에 매개 변수를 래핑 할 필요가 없습니다. 그들은 이미 문자열입니다. 당신의 매개 변수 template_jobsvn_url 경우,이 작업을해야합니다 :

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

입력 해 주셔서 감사합니다! . 현재 코드에서는 새 작업의 Subversion "Repository URL"값을 변경할 수 없습니다. 여전히 템플릿 작업 SVN URL을 가리키고 있습니다. 매개 변수 옵션을 사용하여 빌드를 통해 현재 새 SVN URL을 문자열 매개 변수로 전달하고 있습니다. 정말로 귀하의 제안을 기다리고 있습니다. THnaks My Jenkins 버전 - 2.3.1 – voltas

+0

scm {svn (svn_url)}을 사용하여 알아 냈습니다. – voltas

+0

또 다른 옵션은 매개 변수를 $ {template_job} "으로 참조하는 것입니다. – thiagowfx

관련 문제