2017-04-20 6 views
-1

スラック通知プラグインを使用して既存のジェンキンスジョブを更新しようとしています。既存のジェンキンジョブをスラック通知で更新するためのgroovyスクリプト

これは長年にわたって固執していますが、誰かが私を導くことができますか?あなたの助けを歓迎します。

はジェンキンススクリプトコンソールで、次を試してみました:

for (item in Jenkins.instance.getItemByFullName("TestJob")) { 
    item.publishersList.replace(new jenkins.plugins.slack.SlackNotifier('http://example.com', 'chann', 'jkkljh7777kkjlkj', false, '', '', '', true, true, true, true, true, true, true, true, true, true, true, null, true, 'hmm')) 
} 

は、次のエラーを取得します。

groovy.lang.GroovyRuntimeException:jenkins.plugins.slack.SlackNotifier(java.lang.Stringで、java.lang.Stringで、java.lang.Stringで、java.lang.Booleanの:のコンストラクタを一致が見つかりませんでした、java.lang.String、java.lang.String、java.lang.String、java.lang.Boolean、java.lang.Boolean、java.lang.Boolean、java.lang.Boolean、java.lang.Boolean、java .lang.Boolean、Boolean、java.lang.Boolean、java.lang.Boolean、java.lang.Boolean、java.lang.Boolean、null、java.lang.Boolean、java.lang.String) org.codehaus.groovy.runtime.callsite.MetaClassConstructorSite.callConstructorでgroovy.lang.MetaClassImpl.invokeConstructorでgroovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1731) (MetaClassImpl.java:1534) (METACでlassConstructorSite.java:49)org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructorでorg.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60) で (AbstractCallSite.java:235) Script1.runで (Script1.groovy:2)groovy.langでgroovy.lang.GroovyShell.evaluate(GroovyShell.java:623)でgroovy.lang.GroovyShell.evaluate(GroovyShell.java:585) で 。 GroovyShell.evaluate(GroovyShell.java:594) at hudson.util.RemotingDiagnostics $ Script.call(RemotingDiagnostics.java:142) at hudson.util.RemotingDiagnostics $ Script.call(RemotingDiagnostics.java:114) at hudson。 remoting.LocalChannel.call(LocalChannel.java:45) at hudson.util.Remoti ngDiagnostics.executeGroovy(RemotingDiagnostics.java:111)jenkins.model.Jenkins._doScript(Jenkins.java:4295)で jenkins.model.Jenkins.doScript(Jenkins.java:4267)で sun.reflect.NativeMethodAccessorImplで 。 java.lang.reflect.Method.invokeでsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) でsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) でinvoke0(ネイティブメソッド) (方法.java:606) at org.kohsuke.stapler.Function $ InstanceFunction.invoke(Function.java:335) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:175) at org.kohsuke.stapler .Function.bindAndInvokeAndServeResponse(Function.java:108) org.kohsuke.stapler.MetaClass $ 1.doDispatch(MetaClass.java:124) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler。 Javaの:org.kohsuke.stapler.Staplerでorg.kohsuke.stapler.Stapler.invoke(Stapler.java:649) でorg.kohsuke.stapler.Stapler.invoke(Stapler.java:876) で746) 。サービス(Stapler.java:238) (javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 、org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at hudson.util.PluginServletFilter $ 1.doFilter(PluginServletFilter.jav a:135) at org.jenkinsci.plugins.corsfilter.AccessControlsFilter.doFilter(AccessControlsFilter。Javaの:79) hudson.utilでcom.smartcodeltd.jenkinsci.plugin.assetbundler.filters.LessCSS.doFilterでhudson.util.PluginServletFilter $ 1.doFilter(PluginServletFilter.java:132) (LessCSS.java:47) でハドソンでhudson.util.PluginServletFilter $ 1.doFilter(PluginServletFilter.java:132) でhudson.plugins.greenballs.GreenBallFilter.doFilterで.PluginServletFilter $ 1.doFilter(PluginServletFilter.java:132) (GreenBallFilter.java:59) .plugins.audit_trail.AuditTrailFilter.doFilter hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)でhudson.util.PluginServletFilter $ 1.doFilter(PluginServletFilter.java:132) で(AuditTrailFilter.java:95) でorg.apache.catalina.core.ApplicationFilterChain.internalDoFi (ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:80) at org。 (ApplicationFilterChain.java:206) at hudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.java) :84)hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)jenkins.security.ExceptionTranslationFilter.doFilterでhudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.java:87) で (ExceptionTranslationFilter.javで A:hudson.security.ChainedServletFilter $ 1でのhudson.security.ChainedServletFilter $ 1.doFilterで117) (org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilterでChainedServletFilter.java:87) (AnonymousProcessingFilter.java:125) 。 org.acegisecurityでhudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.java:87) でのdoFilter(ChainedServletFilter.java:87)org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)で (AbstractHeaderProcessor.java:93)(日本語訳) hudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.java:87)org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilterで で(HttpSessionContextIntegrationFilter.java:249)hudson.security.HttpSessionContextIntegrationFilter2.doFilterで (HttpSessionContextIntegrationFilter2.java:67 )hudson.security.ChainedServletFilter $ 1.doFilter(ChainedServletFilter.java:87)hudson.security.HudsonFilter.doFilterでhudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) で で (HudsonFilter.java:171) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core。 ORGでorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) でApplicationFilterChain.doFilter hudson.util.CharacterEncodingFilter.doFilterで(ApplicationFilterChain.java:206) (CharacterEncodingFilter.java:82) 。 apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)org.apache.catalina.core.ApplicationFilterChain.internalDoFilterでorg.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) で (ApplicationFilterChain。java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache。 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558) (org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve。))でを使用しています。 java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache。 catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:299) at org.apa che.coyote.http11.Http11Processor.process(Http11Processor.java:857) (org.apache.coyote.http11.Http11Protocol)$ Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net。私はこのようなスラックしSlack Notification Pluginとポストを使用しjava.lang.Thread.runでJIoEndpoint $ Worker.run(JIoEndpoint.java:489) (Thread.java:745)

答えて

0

stage('notify') { withCredentials([[$class: 'StringBinding', credentialsId: 'my-id', variable: 'my-slack-token']]) { slackSend(message: "my status message", teamDomain: 'my-team', token: env.my-slack-token, channel: '#my-channel', color: 'good') } }

スラックインテグレーショントークンの資格情報を作成する必要があります(私はcalですmy-credentials-idを入力し、その値をmy-slack-token変数に渡します)。 「Manage Jenkins」>「Credentials」でその信任状を作成できます。

申し訳ありません。 :(

+0

ありがとうございましたJacob。しかし、あなたは仕事を作成する際にこれを使用します。私は既存の仕事を編集しようとしていますが、DSLを持っていません。 Groovyを使用して既存のジョブに余裕のある通知を追加して編集してください:) –

関連する問題