saucelabs / bamboo_sauce Goto Github PK
View Code? Open in Web Editor NEWBamboo plugin for use with Sauce OnDemand
Bamboo plugin for use with Sauce OnDemand
As a new user of the plugin (and Sauce in general) it was not immediately clear to me that we needed to install the sc binary separately from this plugin. It seems obvious now but at the time the errors just seemed cryptic. Would be really great to have a disclaimer or note somewhere in the docs letting people know that this is a prereq.
Thanks!
2015-12-04 06:49:53,151 ERROR [http-bio-8085-exec-15] [runtime] Expression from is undefined on line 27, column 28 in templates/plan/viewSauceOnDemandBuildResult.ftl.
Expression from is undefined on line 27, column 28 in templates/plan/viewSauceOnDemandBuildResult.ftl.
The problematic instruction:
----------
==> ${from.urlName} [on line 27, column 26 in templates/plan/viewSauceOnDemandBuildResult.ftl]
----------
Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression from is undefined on line 27, column 28 in templates/plan/viewSauceOnDemandBuildResult.ftl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)
at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
at freemarker.core.Environment.visit(Environment.java:417)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.Environment.process(Environment.java:190)
at freemarker.template.Template.process(Template.java:289)
at freemarker.template.Template.process(Template.java:243)
at org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:215)
at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:371)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:275)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.FieldErrorUsageVerifier.intercept(FieldErrorUsageVerifier.java:49)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.JSONValidationInterceptor.doIntercept(JSONValidationInterceptor.java:69)
at com.atlassian.bamboo.ww2.interceptors.AbstractBambooInterceptor.intercept(AbstractBambooInterceptor.java:34)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.SimpleConversionErrorInterceptor.intercept(SimpleConversionErrorInterceptor.java:82)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.BambooXsrfTokenInterceptor.doIntercept(BambooXsrfTokenInterceptor.java:77)
at com.atlassian.bamboo.ww2.interceptors.AbstractBambooInterceptor.intercept(AbstractBambooInterceptor.java:34)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.xwork.interceptors.AroundInterceptor.intercept(AroundInterceptor.java:25)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:139)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptor.intercept(WebworkSecurityInterceptor.java:57)
at com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptorProxy.intercept(WebworkSecurityInterceptorProxy.java:31)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.xwork.interceptors.AroundInterceptor.intercept(AroundInterceptor.java:25)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.OnDemandNotSupportedInterceptor.intercept(OnDemandNotSupportedInterceptor.java:31)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.PaginationAwareInterceptor.doIntercept(PaginationAwareInterceptor.java:100)
at com.atlassian.bamboo.ww2.interceptors.AbstractBambooInterceptor.intercept(AbstractBambooInterceptor.java:34)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.StatisticsAwareInterceptor.doIntercept(StatisticsAwareInterceptor.java:39)
at com.atlassian.bamboo.ww2.interceptors.AbstractBambooInterceptor.intercept(AbstractBambooInterceptor.java:34)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.ResultsListAwareInterceptor.doIntercept(ResultsListAwareInterceptor.java:42)
at com.atlassian.bamboo.ww2.interceptors.AbstractBambooInterceptor.intercept(AbstractBambooInterceptor.java:34)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.NavigationAwareInterceptor.doIntercept(NavigationAwareInterceptor.java:113)
at com.atlassian.bamboo.ww2.interceptors.AbstractBambooInterceptor.intercept(AbstractBambooInterceptor.java:34)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.BuildResultsSummaryAwareInteceptor.doIntercept(BuildResultsSummaryAwareInteceptor.java:71)
at com.atlassian.bamboo.ww2.interceptors.AbstractBambooInterceptor.intercept(AbstractBambooInterceptor.java:34)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.ResultsSummaryAwareInteceptor.doIntercept(ResultsSummaryAwareInteceptor.java:74)
at com.atlassian.bamboo.ww2.interceptors.AbstractBambooInterceptor.intercept(AbstractBambooInterceptor.java:34)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.ChainAwareInterceptor.doIntercept(ChainAwareInterceptor.java:111)
at com.atlassian.bamboo.ww2.interceptors.AbstractBambooInterceptor.intercept(AbstractBambooInterceptor.java:34)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.AroundInterceptor.intercept(AroundInterceptor.java:25)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.ConditionallyAvailableInterceptor.intercept(ConditionallyAvailableInterceptor.java:62)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.atlassian.bamboo.ww2.interceptors.AroundInterceptor.intercept(AroundInterceptor.java:25)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:564)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:93)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:36)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.bamboo.filter.SessionCreationForAnonymousUserFilter.doFilter(SessionCreationForAnonymousUserFilter.java:60)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.bamboo.filter.NewRelicTransactionNamingFilter.doFilter(NewRelicTransactionNamingFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.bamboo.ww2.StrutsPrepareFilter$1.doFilter(StrutsPrepareFilter.java:81)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:91)
at com.atlassian.bamboo.ww2.StrutsPrepareFilter.handleRequest(StrutsPrepareFilter.java:52)
at com.atlassian.bamboo.ww2.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:40)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.bamboo.filter.BambooProfilingFilter.doFilter(BambooProfilingFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:120)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at com.atlassian.bamboo.filter.SeraphLoginFilter$1.run(SeraphLoginFilter.java:69)
at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31)
at com.atlassian.bamboo.security.ImpersonationHelper.runAs(ImpersonationHelper.java:67)
at com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:75)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:26)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:76)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:240)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:148)
at com.atlassian.seraph.filter.BambooLoginFilter.doFilter(BambooLoginFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:61)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:232)
at com.atlassian.bamboo.persistence.BambooSessionInViewFilter.doFilterInternal(BambooSessionInViewFilter.java:31)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.planetj.servlet.filter.compression.CompressingFilter.handleDoFilter(CompressingFilter.java:203)
at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:193)
at com.atlassian.bamboo.filter.CompressingFilter.doFilter(CompressingFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:27)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
It is possible to have direct links to screenshot/video or even show them as image collection directly in bamboo?
Hello,
Could you clear something up for me? In order to view the Sauce Labs results in Bamboo, do you first need to be logged into Sauce Labs in a different tab? OR, is it not required to be logged into Sauce Labs at all to view the results.
Thanks,
Jeff
I cannot use bamboo env variables with Sauce Connect Options. So when I say -i ${bamboo.buildNumber}
The bamboo variables dont get populated. I always have to use some hard-coded value.
There are couple of issues.
We are running the latest version of SauceLabs plugin (v1.6.48) and using Bamboo v5.6.1 build 4410
I'm having an issue that's very similar to this one: https://support.saucelabs.com/entries/22184446-Sauce-Ondemand-plugin-in-Bamboo-does-not-show-results
Basically I have enabled the plugin for the job I am running in the "Miscellaneous" tab, and have verified that the log files are producing the lines that match the format you specified in the docs on SauceLabs:
Log Excerpt:
build 25-Sep-2014 15:18:00 Results Top Level Tests
build 25-Sep-2014 15:18:00 ------- ---------------
build 25-Sep-2014 15:18:00 Passed Website.Tests.UI.HomepageTests.can_browse_to_about_page
build 25-Sep-2014 15:18:00 [stdout] =
build 25-Sep-2014 15:18:00 SauceOnDemandSessionID=47136dbd2922490d9949f7d15aa3fbd3 job-name=can_browse_to_about_page
However, when I check the "SauceLabs" tab for the job's build results, it doesn't pick up that anything's been run:
Here is a link to the test run: https://saucelabs.com/tests/47136dbd2922490d9949f7d15aa3fbd3 -- I've made it public. Can you help me troubleshoot why this isn't picking up?
Hi,
I was dealing with a Bamboo support case the other day and discovered a performance issue in the ViewSODCondition (and potential bug?). Just wanted to let you know, so you can keep improving the plugin and make it more awesome!
Cheers,
Brydie
Let us call the default user user A and the override user user B.
When overriding user A with user B and having the bamboo plugin build a link that can be shared via the HMAC hash, user A's credentials are used to create the hash. As a result, the link that get's created will not work as the test was actually run under user B. It would be great if the plugin could account for when an override account is in place and create the share links accordingly.
In a number of version of IE (9,10 and 11 so far) the Sauce Labs results are not displayed. This is despite having the user logged in to SauceLabs.com in the browser already. If we have a look in the console for IE we see there is a script error when loading the page on line 6, char 1 of the script. I think this is related but am not 100% sure. It looks as though a malformed JSON object is being passed.
Steps to reproduce
The plugin currently doesn't properly support WebDriver 3 capabilities.
For example, in a job configured with Google Nexus 7 HD in Landscape, the environment variables were set as SAUCE_ONDEMAND_BROWSERS=[{"os":"android","browser":"android","browser-version":"4.3","platform":"ANDROID","url":"sauce-ondemand:?os=android&browser=android&browser-version=4.3"}]
.
The specific device was not requested, and the rotation was missing.
Environment variable SAUCE_ONDEMAND_BROWSERS is being populated in variable with name bamboo_SAUCE_ONDEMAND_BROWSERS instaead. The documentation on the Sauce Lab site indicate that the parameter should be SAUCE_ONDEMAND_BROWSERS
In cases like bamboo_SAUCE_ONDEMAND_BROWSERS it would be helpful to see some sample output so we can parse it if need be.
After downloading bamboo-sauce when I try to run the test cases by using atlas-mvn -f pom.xml package all the test cases are failing in sauce labs.Can I get any solution to pass all the test cases in the package
We use both Bamboo and Jenkins. When run saucelabs enabled jobs in Jenkins, we get very detailed logs showing what exactly in happening in saucelabs, what version of sauceconnect is being used ,etc. This output is very useful when debugging issues.
Bamboo build logs barely have a single line about what is happening in saucelabs. I can't even tell if test are running in local browser or saucelabs.
The saucelabs build output needs be standardized across both Jenkins and Bamboo as much as technically possible.
Currently this plugin is only available for the Server / on-premise version of Bamboo? My bamboo cloud instance will not let me install this.
We are running SauceLabs plugin (v1.6.48) and using Bamboo v5.6.1 build 4410
When I select some environments in the sauce labs UI to test, and click save, then later attempt to de-select some of them, the changes do not save.
Steps to reproduce:
Upon saving, Mac 10.9 Firefox 31 continues to remain selected in the interface. I would expect this to become de-selected.
Currently on Bamboo 5.0.1 and after upgrading to the latest version of this plugin 1.6.38 it will not start up. The error in the logs is
Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle com.saucelabs.bamboo.sauceondemand-plugin [69]: Unable to resolve 69.0: missing requirement [69.0] package; (&(package=com.opensymphony.xwork2)(version>=0.0.0))
java.lang.NoSuchMethodError: com.saucelabs.saucerest.SauceREST.getTunnelInformation(Ljava/lang/String;)Ljava/lang/String;
at > com.saucelabs.ci.sauceconnect.AbstractSauceTunnelManager.activeTunnelIdentifier(AbstractSauceTunnelManager.java:417)
at com.saucelabs.ci.sauceconnect.AbstractSauceTunnelManager.openConnection(AbstractSauceTunnelManager.java:272)
at com.saucelabs.bamboo.sod.action.BuildConfigurator.startTunnel(BuildConfigurator.java:158)
at com.saucelabs.bamboo.sod.action.BuildConfigurator.call(BuildConfigurator.java:121)
at com.atlassian.bamboo.build.pipeline.tasks.PrepareBuildTask.runPreBuildActions(PrepareBuildTask.java:134)
at com.atlassian.bamboo.build.pipeline.tasks.PrepareBuildTask.call(PrepareBuildTask.java:102)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:188)
at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:112)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:110)
at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:49)
at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31)
at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:20)
at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:52)
at java.lang.Thread.run(Thread.java:745)
Unpacking the jar we find saucerest-1.0.20.jar which contains SauceRest and only has the following methods:
Compiled from "SauceREST.java"
public class com.saucelabs.saucerest.SauceREST {
protected java.lang.String username;
protected java.lang.String accessKey;
public static final java.lang.String RESTURL;
public com.saucelabs.saucerest.SauceREST(java.lang.String, java.lang.String);
public void jobPassed(java.lang.String);
public void jobFailed(java.lang.String);
public void downloadVideo(java.lang.String, java.lang.String);
public void downloadLog(java.lang.String, java.lang.String);
public java.lang.String retrieveResults(java.lang.String);
public java.lang.String getJobInfo(java.lang.String);
public java.lang.String retrieveResults(java.net.URL);
protected void addAuthenticationProperty(java.net.HttpURLConnection);
public void updateJobInfo(java.lang.String, java.util.Map<java.lang.String, java.lang.Object>);
public void stopJob(java.lang.String);
public java.net.HttpURLConnection openConnection(java.net.URL) throws java.io.IOException;
public java.lang.String uploadFile(java.io.File) throws java.io.IOException;
public java.lang.String uploadFile(java.io.File, java.lang.String) throws java.io.IOException;
public java.lang.String uploadFile(java.io.File, java.lang.String, java.lang.Boolean) throws java.io.IOException;
public java.lang.String getPublicJobLink(java.lang.String);
protected java.lang.String encodeAuthentication();
public void deleteTunnel(java.lang.String);
public java.lang.String getTunnels();
static {};
}
No getTunnelInformation method.
I have also reported this to atlassian, the jira issue is here:
https://jira.atlassian.com/browse/BAM-16373
Whenever I enable this plugin for a job that has an artifact download task, bamboo cannot download it. disabling sauce eliminates the error.
25-Sep-2015 07:46:29 Running pre-build action: Sauce OnDemand Build Configurator
25-Sep-2015 07:46:48 Running pre-build action: VCS Version Collector
25-Sep-2015 07:46:48 Starting task 'Artifact download' of type 'com.atlassian.bamboo.plugins.bamboo-artifact-downloader-plugin:artifactdownloadertask'
25-Sep-2015 07:46:48 Unable to download artifacts: missing runtime context
25-Sep-2015 07:46:48 Finished task 'Artifact download' with result: Error
25-Sep-2015 07:46:48 Running post build plugin 'Sauce OnDemand Post Runner'
25-Sep-2015 07:46:51 Running post build plugin 'Clover Results Collector'
25-Sep-2015 07:46:51 Running post build plugin 'Artifact Copier'
25-Sep-2015 07:46:51 Running post build plugin 'Docker Container Cleanup'
25-Sep-2015 07:46:51 Running post build plugin 'NCover Results Collector'
25-Sep-2015 07:46:51 Running post build plugin 'npm Cache Cleanup'
Hi team,
In my testing, I have not been able to install the plugin on CentOS 6.8 systems, running either OpenJDK or the Oracle JDK, and Bamboo versions 5.14.1, 5.15.0.1, or 5.15.3.
The error appears to be:
java.lang.IncompatibleClassChangeError: Implementing class
Please see beginning of Stacktrace below:
2017-03-14 18:00:34,304 ERROR [UpmAsynchronousTaskManager:thread-2] [ScanningPluginLoader] Unable to deploy plugin 'com.saucelabs.bamboo.bamboo-sauceondemand-plugin' from 'Unit: /opt/atlassian/bamboo/bamboo-home/plugins/plugin.851885393880030240.bamboo-sauceondemand-plugin-1.6.76.jar (1489514432000)'.
2017-03-14 18:00:34,305 ERROR [UpmAsynchronousTaskManager:thread-2] [ScanningPluginLoader] Because of the following exception:
java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
Please let me know if I can provide any further details.
Thanks!
ViewSODCondition makes several DB calls every time it's called (and it's called very often).
Unfortunately, it's not easy to fix - the proper way would be to use cache for all these calls and Bamboo would have to implement project indices on cache.
But that condition does not really bring much added value - would you consider removing that condition and just displaying the tab all the time?
Hi! Currently, the plugin is not compatible the new Bamboo version (4.4). Any plans to support Bamboo v 4.4?
From a user's support request:
The frame window is quite small, I would prefer if the links just opened a new browser window or new tab. Also it would be nice if the sauce lab results appeared as a link on the build results "Tests" screen alongside the failed tests that are being reported.
We are running the latest version of SauceLabs plugin (v1.6.48) and using Bamboo v5.6.1 build 4410
The plugin is opening up an alert window that an old version of jQuery is being used than is required, when in fact a newer one is being used.
"blockUI requires jQuery v1.2.3 or later! You are using v1.10.2"
The error message shouldn't indicate the version is older when in fact it is a newer version, and ideally this would not be such an in-your-face error message like a JS alert.
The platform that is being set for env variable bamboo_SAUCE_ONDEMAND_BROWSERS doesn't seem to be valid for the selected operating system. Following is an example for your reference. The platform is set to XP for os Windows 2012 R2
{"platform":"XP","os":"Windows 2012 R2","browser":"internet explorer","url":"sauce-ondemand:?os=Windows 2012 R2&browser=internet explorer&browser-version=11","browser-version":"11"}
The tunnel does not close once started if I use a bamboo variable -i ${bamboo.buildNumber} even after the tests are done. I guess the teardown routine for sauce connect also needs to be updated.
I cannot use multiple bamboo variables. eg- "-i ${bamboo.buildNumber}_${bamboo.buildKey}" does not work.
I tried to use Selenium Client Factory library to run parallel tests on bamboo, with multiple selected browsers. Generally it works, but...
There are two main issue:
The result is on https://bitbucket.org/foal/open-gxt-test (base module)
Hello,
In bamboo, in settings for specific job. I select WebDriver browsers: iPhone 6.0, iPhone 7.0 and all others iphones. But when I run test SauceLab not understand what I need iPhones and run tests on OS X with specific safari version.
As result I can test in iPhones through this plugin.
Can you fix it?
Thanks
Hi can you let me know when this will be available in the Marketplace for Bamboo 5.3?
Hello,
I am running tests using this plugin with Protractor for Angular.
There is some curious behavior relating to the bamboo_SAUCE_ONDEMAND_BROWSERS environment variable. I'd expect that when I only select one browser in the sauce plugin configuration, bamboo_SAUCE_ONDEMAND_BROWSERS would still get set properly.
Instead, it seems to be undefined in this scenario. My instinct is that the logic here is making assumptions using the number of browsers and using that to extrapolate the type of output. It seems like the variable should return reliably even in the case of one browser selected.
Thanks!
This plugin is currently holding us back on upgrading to the newest Bamboo 5.2
Can we get compatibility verified for this?
One of our customers at Sauce Labs noticed that If they leave the "Enable Sauce OnDemand" option in Bamboo unchecked, everything works fine. But if they check the "Enable Sauce OnDemand" option then the plugin uses incorrect desired capabilities for their test.
The correct desired capabilities for a test can be found here: https://docs.saucelabs.com/reference/platforms-configurator/#/
When I try to install this plugin into Bamboo 5.9.7 but it says it's not compatible with the current version of bamboo and the plugin will not activate.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.