2017-12-13 25 views
0
내가 그루비 스크립트를 통해 젠킨스 락스 플러그인을 config (설정)하기 위해 노력하고있어

일치하지만 점점 찾을 수 없습니다젠킨스 락스 - 플러그인 오류를 생성자

WARNING: Failed to run script file:/var/jenkins_home/init.groovy.d/k_JiraPluginConfig.groovy 
groovy.lang.GroovyRuntimeException: Could not find matching constructor for: hudson.plugins.jira.JiraSite(java.net.URL, java.net.URL, java.lang.String, java.lang.String, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, null, null, java.lang.Boolean) 
    at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1732) 
    at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1532) 
    at org.codehaus.groovy.runtime.callsite.MetaClassConstructorSite.callConstructor(MetaClassConstructorSite.java:49) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235) 
    at k_JiraPluginConfig.run(k_JiraPluginConfig.groovy:13) 
    at groovy.lang.GroovyShell.evaluate(GroovyShell.java:585) 
    at jenkins.util.groovy.GroovyHookScript.execute(GroovyHookScript.java:136) 
    at jenkins.util.groovy.GroovyHookScript.execute(GroovyHookScript.java:127) 
    at jenkins.util.groovy.GroovyHookScript.run(GroovyHookScript.java:110) 
    at hudson.init.impl.GroovyInitScript.init(GroovyInitScript.java:41) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104) 
    at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175) 
    at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282) 
    at jenkins.model.Jenkins$5.runTask(Jenkins.java:1065) 
    at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210) 
    at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
    at java.lang.Thread.run(Thread.java:748) 

이 내 그루비 스크립트가

import hudson.plugins.jira.JiraProjectProperty 
import hudson.plugins.jira.JiraSite 
import jenkins.model.* 

def env = System.getenv() 
def jenkins = Jenkins.getInstance() 
JiraProjectProperty.DescriptorImpl config = jenkins.getExtensionList(JiraProjectProperty.DescriptorImpl.class)[0] 

JiraSite jiraSite = new JiraSite(new URL(env.JIRA_URL), 
          new URL(env.JIRA_URL), 
          env.JIRA_USERNAME, 
          env.JIRA_PASSWORD, 
          true, 
          true, 
          true, 
          null, null, false) 
jiraSite.setDisableChangelogAnnotations(false) 
jiraSite.setTimeout(10) 
jiraSite.setDateTimePattern('EEE, d MMM yyyy HH:mm:ss Z') 
jiraSite.setAppendChangeTimestamp(true) 
config.setSites(jiraSite) 
config.save() 

그리고 모양이다 이 코드는 Jira-plugin의 설정 파일에서 파생되었으며 XML 파일은 아래처럼 보입니다.

내가 무엇을 놓치고 있는지 잘 모르겠다.

추가적인 세부 사항

젠킨스 버전 - 2.9.3

락스 버전 - 7.2.2

락스 - 플러그인 버전 - 2.5

락스 - 플러그인 REPO - https://github.com/jenkinsci/jira-plugin

미리 감사드립니다.

답변

1

JiraSite Constructor을보고 Groovy 스크립트에서 JiraSite 생성자 호출을 업데이트하여 일치시켜야합니다.

JiraSite jiraSite = new JiraSite(new URL(env.JIRA_URL), new URL(env.JIRA_URL), 
         env.JIRA_USERNAME, env.JIRA_PASSWORD, 
         true, true, 
         null, true, 
         null, null, 
         false) 

을 나는 userPattern 그렇게 요구했다되지 않는 가정 하였다 : 그래서 생성자 서명을 기반으로

JiraSite(URL url, URL alternativeUrl, 
     String userName, String password, 
     boolean supportsWikiStyleComment, boolean recordScmChanges, 
     String userPattern, boolean updateJiraIssueForAllStatus, 
     String groupVisibility, String roleVisibility, 
     boolean useHTTPAuth) 

아래로, 아래처럼 그루비 스크립트에서 생성자 호출을 업데이트해야처럼 JiraSite의 생성자입니다 널 (null)로, 필요한 항목으로 갱신 할 수 있습니다. 그것은 당신이 도움이된다면 이것이 당신이 대답은 받아 들일 수 anoop - 필립 @

+0

을하는 데 도움이

희망 생성자 호출 놓친 인수했다? :) – slashpai

+0

감사합니다. 오늘 나중에 확인하고 대답을 수락합니다. –