Slackチャネル#buildsで通知を送信するようにJenkinsを構成する必要があります。 SlackでJenkins CI統合を構成しました。その結果、「abcdefgh666」というトークンがあり、「設定手順」を展開すると、チームドメインが「mysuperteam」であることがわかります。 slackにURL http://mysuperteam.slack.com で接続します
ステップ3で立ち往生しています。 Slack doc のスクリーンショットは次のとおりです。
しかし、Jenkinsバージョンでは、ビューは次のようになります。
もちろん、[接続のテスト]ボタンは常に失敗を返します。ジェンキンスのログでは、私はこれを何度も持っています:
Mar 30, 2017 2:14:38 PM WARNING jenkins.plugins.slack.StandardSlackService publish
Error posting to Slack
Java.lang.IllegalStateException: Target Host is null
at org.Apache.http.util.Asserts.notNull(Asserts.Java:46)
at org.Apache.http.impl.client.InternalHttpClient.determineRoute(InternalHttpClient.Java:125)
at org.Apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.Java:185)
at org.Apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.Java:82)
at org.Apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.Java:106)
at jenkins.plugins.slack.StandardSlackService.publish(StandardSlackService.Java:126)
at jenkins.plugins.slack.SlackNotifier$DescriptorImpl.doTestConnection(SlackNotifier.Java:510)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.lang.reflect.Method.invoke(Method.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)
at 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:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.Java:876)
at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.Java:236)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.Java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.Java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.Java:876)
at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.Java:236)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.Java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.Java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.Java:876)
at org.kohsuke.stapler.Stapler.invoke(Stapler.Java:649)
at org.kohsuke.stapler.Stapler.service(Stapler.Java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.Java:790)
at org.Eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.Java:812)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1669)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.Java:135)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.Java:126)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1652)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.Java:80)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1652)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.Java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.Java:117)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.Java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.Java:142)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.Java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.Java:93)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.Java:249)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.Java:67)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.Java:87)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.Java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.Java:171)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1652)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.Java:49)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1652)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.Java:82)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1652)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.Java:30)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1652)
at org.Eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.Java:585)
at org.Eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.Java:143)
at org.Eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.Java:553)
at org.Eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.Java:223)
at org.Eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.Java:1127)
at org.Eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.Java:515)
at org.Eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.Java:185)
at org.Eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.Java:1061)
at org.Eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.Java:141)
at org.Eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.Java:97)
at org.Eclipse.jetty.server.Server.handle(Server.Java:499)
at org.Eclipse.jetty.server.HttpChannel.handle(HttpChannel.Java:311)
at org.Eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.Java:257)
at org.Eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.Java:544)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.Java:77)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1145)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:615)
at Java.lang.Thread.run(Thread.Java:745)
資格情報メニューを使用して直接トークンを入力しないようにしました。「ベースURL」フィールドに「slack.com」を入力しようとしました。「Is Bot User?」をオンまたはオフにしようとしました。フィールド、「 http://mysuperteam.slack.com 」を「ベースURL」フィールドに入力しようとしました。
私の設定は正しいですか? JenkinsがSlackに接続できない原因は何ですか?
最後に、問題は一時的なバグでした。私たちの構成は有効であり、数日後の再テストはうまくいくようです。
Team Subdomain
およびIntegration Token
の入力には、Slackアプリの管理ページにある情報を入力しました。さらに、Jenkinsがプッシュ通知を送信するChannel
の名前を設定します。
Slack Webhooks Settings
には何も設定していません。
重要:「テスト接続」ボタンをクリックする前に、設定を保存してください。
バージョン:Jenkins 2.46/Slack Notification Plugin 2.2。 https://github.com/jenkinsci/slack-plugin にある設定情報
「baseUrl」を空のままにし、「TestConnection」を介してテスト前に保存します。
同じ問題があり、スラックインターフェイスで着信Webhookを作成する必要があることがわかりました( https://slack.com/apps/A0F7XDUAZ-incoming-webhooks )
しかし、それでも機能しません...
編集: https://github.com/jenkinsci/slack-plugin のインストール手順を誤って解釈している可能性がありますが、いずれにしても最新ではありません
Windows環境でサービスとしてJenkinsを実行しています。 Jenkinsがファイアウォールと企業プロキシの背後にあるため、「407-プロキシ認証が必要です」というエラーが発生しました。この問題は、ドメインIDを使用してJenkinsサービスを開始することで解決しました。