Giter Site home page Giter Site logo

http-notification's People

Contributors

ahonor avatar ahormazabal avatar gschueler avatar ltamaster avatar miguelantonio avatar sjrd218 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

http-notification's Issues

Plugin fails (1.0.6)

Using Rundeck 3.3.X, http-notification plugin (version 1.0.6) fails with the following output (and the HTTP notification option doesn't appear).

com.dtolabs.rundeck.core.plugins.PluginException: Error loading class: com.rundeck.plugin.HttpNotificationPlugin
	at com.dtolabs.rundeck.core.plugins.JarPluginProviderLoader.loadClass(JarPluginProviderLoader.java:440)
	at com.dtolabs.rundeck.core.plugins.JarPluginProviderLoader.isLoaderFor(JarPluginProviderLoader.java:579)
	at com.dtolabs.rundeck.core.plugins.DirPluginScanner.test(DirPluginScanner.java:189)
	at com.dtolabs.rundeck.core.plugins.DirPluginScanner.scanFor(DirPluginScanner.java:156)
	at com.dtolabs.rundeck.core.plugins.DirPluginScanner.scanForFile(DirPluginScanner.java:109)
	at com.dtolabs.rundeck.core.plugins.FilePluginCache.rescanForItem(FilePluginCache.java:147)
	at com.dtolabs.rundeck.core.plugins.FilePluginCache.getLoaderForIdent(FilePluginCache.java:110)
	at com.dtolabs.rundeck.core.plugins.PluginManagerService.tryPluginMetadata(PluginManagerService.java:190)
	at com.dtolabs.rundeck.core.plugins.PluginManagerService.getPluginMetadata(PluginManagerService.java:180)
	at com.dtolabs.rundeck.core.plugins.ServiceProviderLoader$getPluginMetadata$3.call(Unknown Source)
	at com.dtolabs.rundeck.server.plugins.RundeckPluginRegistry.getPluginMetadata(RundeckPluginRegistry.groovy:586)
	at com.dtolabs.rundeck.core.plugins.PluginRegistry$getPluginMetadata$5.call(Unknown Source)
	at rundeck.services.UiPluginService.fileMetadataForPlugin(UiPluginService.groovy:316)
	at rundeck.services.UiPluginService$fileMetadataForPlugin$3.callCurrent(Unknown Source)
	at rundeck.services.UiPluginService.getMessagesFor(UiPluginService.groovy:133)
	at rundeck.services.UiPluginService$getMessagesFor$6.callCurrent(Unknown Source)
	at rundeck.services.UiPluginService.getPluginMessage(UiPluginService.groovy:153)
	at rundeck.services.UiPluginService$getPluginMessage$5.call(Unknown Source)
	at rundeck.PluginTagLib$_closure7.doCall(PluginTagLib.groovy:158)
	at sun.reflect.GeneratedMethodAccessor502.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at org.grails.taglib.TagOutput.captureTagOutput(TagOutput.java:78)
	at org.grails.taglib.TagLibraryMetaUtils$_registerMethodMissingForTags_closure3.doCall(TagLibraryMetaUtils.groovy:59)
	at sun.reflect.GeneratedMethodAccessor246.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod.invoke(ClosureMetaMethod.java:83)
	at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoMetaMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:223)
	at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:70)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at gsp_rundeckapp_scheduledExecution_editLogFilterModal_gsp$_run_closure1.doCall(gsp_rundeckapp_scheduledExecution_editLogFilterModal_gsp.groovy:22)
	at sun.reflect.GeneratedMethodAccessor922.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3540)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3525)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3625)
	at org.codehaus.groovy.runtime.dgm$87.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at gsp_rundeckapp_scheduledExecution_editLogFilterModal_gsp.run(gsp_rundeckapp_scheduledExecution_editLogFilterModal_gsp.groovy:16)
	at org.grails.gsp.GroovyPageWritable.doWriteTo(GroovyPageWritable.java:162)
	at org.grails.gsp.GroovyPageWritable.writeTo(GroovyPageWritable.java:82)
	at org.grails.web.gsp.GroovyPagesTemplateRenderer.makeTemplate(GroovyPagesTemplateRenderer.java:232)
	at org.grails.web.gsp.GroovyPagesTemplateRenderer.render(GroovyPagesTemplateRenderer.java:113)
	at org.grails.plugins.web.taglib.RenderTagLib$_closure7.doCall(RenderTagLib.groovy:367)
	at sun.reflect.GeneratedMethodAccessor406.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at org.grails.gsp.GroovyPage.invokeTagLibClosure(GroovyPage.java:446)
	at org.grails.gsp.GroovyPage.invokeTag(GroovyPage.java:364)
	at org.grails.gsp.GroovyPage$invokeTag$4.callCurrent(Unknown Source)
	at gsp_rundeckapp_scheduledExecution_editForm_gsp.run(gsp_rundeckapp_scheduledExecution_editForm_gsp.groovy:20)
	at org.grails.gsp.GroovyPageWritable.doWriteTo(GroovyPageWritable.java:162)
	at org.grails.gsp.GroovyPageWritable.writeTo(GroovyPageWritable.java:82)
	at org.grails.web.gsp.GroovyPagesTemplateRenderer.makeTemplate(GroovyPagesTemplateRenderer.java:232)
	at org.grails.web.gsp.GroovyPagesTemplateRenderer.render(GroovyPagesTemplateRenderer.java:113)
	at org.grails.plugins.web.taglib.RenderTagLib$_closure7.doCall(RenderTagLib.groovy:367)
	at sun.reflect.GeneratedMethodAccessor406.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at org.grails.gsp.GroovyPage.invokeTagLibClosure(GroovyPage.java:446)
	at org.grails.gsp.GroovyPage.invokeTag(GroovyPage.java:364)
	at sun.reflect.GeneratedMethodAccessor244.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at gsp_rundeckapp_scheduledExecutionedit_gsp$_run_closure2.doCall(gsp_rundeckapp_scheduledExecutionedit_gsp.groovy:63)
	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 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:399)
	at org.grails.taglib.TagBodyClosure.executeClosure(TagBodyClosure.java:200)
	at org.grails.taglib.TagBodyClosure.captureClosureOutput(TagBodyClosure.java:102)
	at org.grails.taglib.TagBodyClosure.call(TagBodyClosure.java:213)
	at org.grails.plugins.web.taglib.SitemeshTagLib.captureTagContent(SitemeshTagLib.groovy:48)
	at org.grails.plugins.web.taglib.SitemeshTagLib.captureTagContent(SitemeshTagLib.groovy)
	at org.grails.plugins.web.taglib.SitemeshTagLib$_closure3.doCall(SitemeshTagLib.groovy:156)
	at sun.reflect.GeneratedMethodAccessor921.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at org.grails.gsp.GroovyPage.invokeTagLibClosure(GroovyPage.java:446)
	at org.grails.gsp.GroovyPage.invokeTag(GroovyPage.java:364)
	at org.grails.gsp.GroovyPage$invokeTag$4.callCurrent(Unknown Source)
	at gsp_rundeckapp_scheduledExecutionedit_gsp.run(gsp_rundeckapp_scheduledExecutionedit_gsp.groovy:66)
	at org.grails.gsp.GroovyPageWritable.doWriteTo(GroovyPageWritable.java:162)
	at org.grails.gsp.GroovyPageWritable.writeTo(GroovyPageWritable.java:82)
	at org.grails.web.servlet.view.GroovyPageView.renderTemplate(GroovyPageView.java:76)
	at org.grails.web.servlet.view.AbstractGrailsView.renderWithinGrailsWebRequest(AbstractGrailsView.java:71)
	at org.grails.web.servlet.view.AbstractGrailsView.renderMergedOutputModel(AbstractGrailsView.java:55)
	at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:317)
	at org.grails.web.sitemesh.GrailsLayoutView.renderInnerView(GrailsLayoutView.java:150)
	at org.grails.web.sitemesh.GrailsLayoutView.obtainContent(GrailsLayoutView.java:128)
	at org.grails.web.sitemesh.GrailsLayoutView.renderTemplate(GrailsLayoutView.java:63)
	at org.grails.web.servlet.view.AbstractGrailsView.renderWithinGrailsWebRequest(AbstractGrailsView.java:71)
	at org.grails.web.servlet.view.AbstractGrailsView.renderMergedOutputModel(AbstractGrailsView.java:55)
	at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:317)
	at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1372)
	at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1118)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1057)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
	at org.springframework.security.web.jaasapi.JaasApiIntegrationFilter$1.run(JaasApiIntegrationFilter.java:96)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.springframework.security.web.jaasapi.JaasApiIntegrationFilter.doFilter(JaasApiIntegrationFilter.java:105)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at javax.servlet.FilterChain$doFilter.call(Unknown Source)
	at org.rundeck.grails.plugins.securityheaders.RundeckSecurityHeadersFilter.doFilterInternal(RundeckSecurityHeadersFilter.groovy:67)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:88)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
	at grails.plugin.springsecurity.web.UpdateRequestContextHolderExceptionTranslationFilter.doFilter(UpdateRequestContextHolderExceptionTranslationFilter.groovy:64)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.groovy:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:158)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.jaasapi.JaasApiIntegrationFilter$1.run(JaasApiIntegrationFilter.java:96)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.springframework.security.web.jaasapi.JaasApiIntegrationFilter.doFilter(JaasApiIntegrationFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.groovy:64)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.groovy:58)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:114)
	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:104)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:97)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:500)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.rundeck.plugin.HttpNotificationPlugin
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at com.dtolabs.rundeck.core.plugins.JarPluginProviderLoader.loadClass(JarPluginProviderLoader.java:435)
	... 236 more

Original Issue: rundeck/rundeck#6435

Does not work on rundeck v3.3

com.dtolabs.rundeck.core.plugins.PluginException: Error loading class: com.rundeck.plugin.HttpNotificationPlugin
at com.dtolabs.rundeck.core.plugins.JarPluginProviderLoader.loadClass(JarPluginProviderLoader.java:440)
at com.dtolabs.rundeck.core.plugins.JarPluginProviderLoader.isLoaderFor(JarPluginProviderLoader.java:579)
at com.dtolabs.rundeck.core.plugins.DirPluginScanner.test(DirPluginScanner.java:220)
at com.dtolabs.rundeck.core.plugins.DirPluginScanner.scanFor(DirPluginScanner.java:187)
at com.dtolabs.rundeck.core.plugins.DirPluginScanner.scanForFile(DirPluginScanner.java:140)
at com.dtolabs.rundeck.core.plugins.FilePluginCache.rescanForItem(FilePluginCache.java:147)
at com.dtolabs.rundeck.core.plugins.FilePluginCache.getLoaderForIdent(FilePluginCache.java:110)
at com.dtolabs.rundeck.core.plugins.PluginManagerService.tryPluginMetadata(PluginManagerService.java:199)
at com.dtolabs.rundeck.core.plugins.PluginManagerService.getPluginMetadata(PluginManagerService.java:189)
at com.dtolabs.rundeck.core.plugins.ServiceProviderLoader$getPluginMetadata$0.call(Unknown Source)
at com.dtolabs.rundeck.server.plugins.RundeckPluginRegistry.getPluginMetadata(RundeckPluginRegistry.groovy:801)
at com.dtolabs.rundeck.core.plugins.PluginRegistry$getPluginMetadata$1.call(Unknown Source)

there is another issue stated:
rundeck/rundeck#6435
It seems that the plugin exects log4j and Rundeck 3.3.X uses log4j2.

I have installed 1.0.5 of the HTTP plugin,

HTTP post request

Hi everyone, I have an issue with the HTTP-notification, we did some tests in https://webhook.site/ and the results are:
When starting Job the variables are OK.
The variable pass when Job either complete or started And variable failed when Job is in Process.
They use Opsgenie like the third-party app.

Instance characteristics:
Rundeck version: 3.0.11
Rundeck edition: Cluster
Installation method: RPM
DB: MySQL
SO: Linux

Whenever Job exceeded avg time it is fail to throw variable names

{
"message": "[${job.project}] ${job.name}",
"alias": "Life is too short for no alias",
"description":"[${job.project}] ${job.name} run by ${job.user.name} (#${job.execid}) [ ${job.url} ] ",
"priority" :"P1"
}

They are using HTTP post request to throw notification to 3rd party tool.

Regards

Provide .jar files for latest releases

Hey there,
how comes that since version 1.0.2 the releases no longer include a downloadable .jar file? My company has an automation process which pull rundeck plugins from github so downloading the source breaks this process. Can we reenable it for the latest releases?

Possible to add the "Print" section to Notification plugin?

I can see a scenario where I would like to store the response from the HTTP Notification event for future analysis, in the event an issue occurred. Would be nice to have the "Print" section available as it is for the Job Step.

"Print Response" option could add to the execution log, and "Print Response to File" could function as described. Would like to make sure execution variables are available for use in this Notification plugin as well (exec id, job name, project name, etc)

Quotes are not escaped in JSON message

Option argstring breaks JSON when some arguments contain quotes.
Please add escaping for placeholders.

Example rundek job that breaks JSON:

- defaultTab: nodes
  description: ''
  executionEnabled: true
  group: ZZZ
  loglevel: INFO
  name: notification-test
  nodeFilterEditable: true
  nodefilters:
    dispatch:
      excludePrecedence: true
      keepgoing: false
      rankOrder: ascending
      successOnEmptyNodeFilter: false
      threadcount: '1'
    filter: ZZZ
  nodesSelectedByDefault: true
  notification:
    onfailure:
      plugin:
        configuration:
          authentication: None
          body: |
            {
              "name": "Args:",
              "value": "${execution.argstring}"
            }
          contentType: application/json
          method: POST
          remoteUrl: http://SOME_SERVER
          timeout: '30000'
        type: HttpNotification
  notifyAvgDurationThreshold: null
  options:
    - name: returnCode
      required: true
      value: 1
    - name: text
      value: '''value in quotes "ZZZ" '''
  plugins:
    ExecutionLifecycle: {}
  scheduleEnabled: true
  schedules: []
  sequence:
    commands:
      - exec: exit ${option.returnCode}
    keepgoing: false
    strategy: node-first

"Print" section not collapsable

I see the new "Print" section, but it would probably be best if the section was consistent with others like "Authentication" and "Proxy Settings" and collapsed by default like the others.

Include Execution Notification URL Token Expansion

The ability to use Execution Notification URL Token Expansion (https://docs.rundeck.com/docs/manual/notifications/webhooks.html) in the http-notification plugin would be useful in those cases where certain webhook syntax, language or format cannot be used; (MatterMost Incoming Webhook for example)

https://developers.mattermost.com/integrate/incoming-webhooks/

Attached results were obtained using RUNDECK ENTERPRISE 3.1.2-20190927 and 3.0.26-20190829 via Send Notification (Http Notification) to MatterMost and webhook.site

02-Notification-Reply
01_MatterMost_notification

**Getting Help** Notifications to Google Chat"

Hi!!
I have set up Rundeck and have several active jobs. I have tried to configure Rundeck to notify me when a job is triggered by sending a message to my Google Chat channel, but I can't get it to work. I have used the option in the "Notifications" tab, selected "notification type: send webhook," and in the URL field, I have entered my Google Chat URL, but I'm not exactly sure about the format I need to use.
If you can help me, I would appreciate it. I have checked that integration with Slack is easier because there is a plugin, but I don't see that option for Google Chat. The text that I put in the URL field is the following.
Captura desde 2023-09-25 18-32-55

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.