Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-64594

Postbuild task drops steps (no longer working)

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • postbuild-task-plugin
    • None
    • Jenkins 2.273
      Postbuild 1.9

      The problem maybe related to JENKINS-23952 and JENKINS-64088.  However the variant is slightly different

      Prior to 2.273, we had numerous jobs with multiple post build tasks (working), and those continue work as long as they're not edited (in 2.273).   However if you edit a job (to add a task to the Post Build) that's when things break - you can add the task, script information, etc.; you can hit apply or save, and it appears to save.  If you then exit the job and come back in, only the first two tasks are preserved, all remaining tasks are lost

       

      The only thing found in the system log is this message (but it's unclear if it's related)
      Jan 11, 2021 3:18:09 PM WARNING org.kohsuke.stapler.framework.adjunct.AdjunctsInPage findNeeded
      No such adjunct found: org.kohsuke.stapler.framework.adjunct.NoSuchAdjunctException: Neither .css, .js, .html, nor .jelly were found at org.kohsuke.stapler.framework.adjunct.Adjunct.<init>(Adjunct.java:125) at org.kohsuke.stapler.framework.adjunct.AdjunctManager.get(AdjunctManager.java:148) at org.kohsuke.stapler.framework.adjunct.AdjunctsInPage.findNeeded(AdjunctsInPage.java:161) at org.kohsuke.stapler.framework.adjunct.AdjunctsInPage.generate(AdjunctsInPage.java:113) at org.kohsuke.stapler.jelly.AdjunctTag.doTag(AdjunctTag.java:83) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99) at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161) at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161) at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95) at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161) at org.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:41) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161) at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99) at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99) at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161) at org.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:41) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161) at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99) at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99) at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99) at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99) at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95) at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:64) at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:54) at org.kohsuke.stapler.jelly.ScriptInvoker.execute(ScriptInvoker.java:56) at org.kohsuke.stapler.jelly.ScriptInvoker.execute(ScriptInvoker.java:43) at org.kohsuke.stapler.ScriptRequestDispatcher.forward(ScriptRequestDispatcher.java:97) at org.jenkinsci.plugins.configfiles.ConfigFilesManagement.doAddConfig(ConfigFilesManagement.java:236) at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627) at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36) at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48) at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:536) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:457) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694) at org.kohsuke.stapler.Stapler.service(Stapler.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215) at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88) at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:114) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:153) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:92) at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101) at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:92) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:62) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:109) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:168) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:51) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) 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:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) 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:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) 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:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) at java.lang.Thread.run(Thread.java:748)

        

          [JENKINS-64594] Postbuild task drops steps (no longer working)

          jim woodlock added a comment -

          Further investigation shows that previous system log is unrelated; there's no logging associated with this step truncation - it simply fails to save steps beyond 1 & 2.  If there's a way to enable logging I would be happy to enable it

           

          I did find an old copy of the job xml; here's what the plugin now stores and what the job was - syntactically it looks similar (just that it dropped steps), but there's definitely something odd going on.  Attempts at reversion to v1.8 cause text blocks to be misrepresented (located outside the tables / divs, etc.) so that's not an option

           

          AFTER an edit

          <publishers>
          <hudson.plugins.postbuildtask.PostbuildTask plugin="postbuild-task@1.9">
          <tasks>
          <hudson.plugins.postbuildtask.TaskProperties>
          <logTexts>
          <hudson.plugins.postbuildtask.LogProperties>
          <logText></logText>
          <operator>AND</operator>
          </hudson.plugins.postbuildtask.LogProperties>
          </logTexts>
          <EscalateStatus>true</EscalateStatus>
          <RunIfJobSuccessful>false</RunIfJobSuccessful>
          <script>#!/bin/bash
          ${JENKINS_HOME}/scripts/run-managed-script 'Remove from Quali Inventory'
          </script>
          </hudson.plugins.postbuildtask.TaskProperties>
          <hudson.plugins.postbuildtask.TaskProperties>
          <logTexts>
          <hudson.plugins.postbuildtask.LogProperties>
          <logText>Instantiate VNF via HEAT</logText>
          <operator>AND</operator>
          </hudson.plugins.postbuildtask.LogProperties>
          </logTexts>
          <EscalateStatus>true</EscalateStatus>
          <RunIfJobSuccessful>false</RunIfJobSuccessful>
          <script>#!/bin/bash
          ${JENKINS_HOME}/scripts/run-managed-script 'Terminate VNF via HEAT' $OS_TENANT_NAME $OS_USERNAME $OS_PASSWORD $OS_AUTH_URL QWILT_${RUN}</script>
          </hudson.plugins.postbuildtask.TaskProperties>
          </tasks>
          </hudson.plugins.postbuildtask.PostbuildTask>
          </publishers>

          BEFORE (legacy copy of the job)

          <publishers>
          <hudson.plugins.postbuildtask.PostbuildTask plugin="postbuild-task@1.9">
          <tasks>
          <hudson.plugins.postbuildtask.TaskProperties>
          <logTexts>
          <hudson.plugins.postbuildtask.LogProperties>
          <logText></logText>
          <operator>AND</operator>
          </hudson.plugins.postbuildtask.LogProperties>
          </logTexts>
          <EscalateStatus>true</EscalateStatus>
          <RunIfJobSuccessful>false</RunIfJobSuccessful>
          <script>#!/bin/bash
          ${JENKINS_HOME}/scripts/run-managed-script 'Remove from Quali Inventory'
          </script>
          </hudson.plugins.postbuildtask.TaskProperties>
          <hudson.plugins.postbuildtask.TaskProperties>
          <logTexts>
          <hudson.plugins.postbuildtask.LogProperties>
          <logText>Instantiate VNF via HEAT</logText>
          <operator>AND</operator>
          </hudson.plugins.postbuildtask.LogProperties>
          </logTexts>
          <EscalateStatus>true</EscalateStatus>
          <RunIfJobSuccessful>false</RunIfJobSuccessful>
          <script>#!/bin/bash
          ${JENKINS_HOME}/scripts/run-managed-script 'Terminate VNF via HEAT' $OS_TENANT_NAME $OS_USERNAME $OS_PASSWORD $OS_AUTH_URL QWILT_${RUN}
          </script>
          </hudson.plugins.postbuildtask.TaskProperties>
          <hudson.plugins.postbuildtask.TaskProperties>
          <logTexts>
          <hudson.plugins.postbuildtask.LogProperties>
          <logText>Instantiate VNF via VNFM</logText>
          <operator>AND</operator>
          </hudson.plugins.postbuildtask.LogProperties>
          </logTexts>
          <EscalateStatus>true</EscalateStatus>
          <RunIfJobSuccessful>false</RunIfJobSuccessful>
          <script>#!/bin/bash
          echo LCM terminate command</script>
          </hudson.plugins.postbuildtask.TaskProperties>
          <hudson.plugins.postbuildtask.TaskProperties>
          <logTexts>
          <hudson.plugins.postbuildtask.LogProperties>
          <logText>Instantiate VNF via NFVO</logText>
          <operator>AND</operator>
          </hudson.plugins.postbuildtask.LogProperties>
          </logTexts>
          <EscalateStatus>true</EscalateStatus>
          <RunIfJobSuccessful>false</RunIfJobSuccessful>
          <script>#!/bin/bash
          ${JENKINS_HOME}/scripts/run-managed-script 'Terminate VNF via NFVO' '' 'current'</script>
          </hudson.plugins.postbuildtask.TaskProperties>
          <hudson.plugins.postbuildtask.TaskProperties>
          <logTexts>
          <hudson.plugins.postbuildtask.LogProperties>
          <logText></logText>
          <operator>AND</operator>
          </hudson.plugins.postbuildtask.LogProperties>
          </logTexts>
          <EscalateStatus>true</EscalateStatus>
          <RunIfJobSuccessful>false</RunIfJobSuccessful>
          <script>#!/bin/bash
          ${JENKINS_HOME}/scripts/run-managed-script 'Remove images from Glance' $OS_TENANT_NAME $OS_USERNAME $OS_PASSWORD $OS_AUTH_URL</script>
          </hudson.plugins.postbuildtask.TaskProperties>
          <hudson.plugins.postbuildtask.TaskProperties>
          <logTexts>
          <hudson.plugins.postbuildtask.LogProperties>
          <logText></logText>
          <operator>AND</operator>
          </hudson.plugins.postbuildtask.LogProperties>
          </logTexts>
          <EscalateStatus>true</EscalateStatus>
          <RunIfJobSuccessful>false</RunIfJobSuccessful>
          <script>#!/bin/bash
          ${JENKINS_HOME}/scripts/run-managed-script 'Release tenant space back to Portal'</script>
          </hudson.plugins.postbuildtask.TaskProperties>
          <hudson.plugins.postbuildtask.TaskProperties>
          <logTexts>
          <hudson.plugins.postbuildtask.LogProperties>
          <logText></logText>
          <operator>AND</operator>
          </hudson.plugins.postbuildtask.LogProperties>
          </logTexts>
          <EscalateStatus>true</EscalateStatus>
          <RunIfJobSuccessful>false</RunIfJobSuccessful>
          <script>#!/bin/bash
          ${JENKINS_HOME}/scripts/run-managed-script 'Ensure a Marketplace issue has been created' "INCOMPLETE" "CSAR: ${PACKAGENAME}; Jenkins: ${BUILD_N
          UMBER}"</script>
          </hudson.plugins.postbuildtask.TaskProperties>
          </tasks>
          </hudson.plugins.postbuildtask.PostbuildTask>
          </publishers>

           

          jim woodlock added a comment - Further investigation shows that previous system log is unrelated; there's no logging associated with this step truncation - it simply fails to save steps beyond 1 & 2.  If there's a way to enable logging I would be happy to enable it   I did find an old copy of the job xml; here's what the plugin now stores and what the job was - syntactically it looks similar (just that it dropped steps), but there's definitely something odd going on.  Attempts at reversion to v1.8 cause text blocks to be misrepresented (located outside the tables / divs, etc.) so that's not an option   AFTER an edit <publishers> <hudson.plugins.postbuildtask.PostbuildTask plugin="postbuild-task@1.9"> <tasks> <hudson.plugins.postbuildtask.TaskProperties> <logTexts> <hudson.plugins.postbuildtask.LogProperties> <logText></logText> <operator>AND</operator> </hudson.plugins.postbuildtask.LogProperties> </logTexts> <EscalateStatus>true</EscalateStatus> <RunIfJobSuccessful>false</RunIfJobSuccessful> <script>#!/bin/bash ${JENKINS_HOME}/scripts/run-managed-script 'Remove from Quali Inventory' </script> </hudson.plugins.postbuildtask.TaskProperties> <hudson.plugins.postbuildtask.TaskProperties> <logTexts> <hudson.plugins.postbuildtask.LogProperties> <logText>Instantiate VNF via HEAT</logText> <operator>AND</operator> </hudson.plugins.postbuildtask.LogProperties> </logTexts> <EscalateStatus>true</EscalateStatus> <RunIfJobSuccessful>false</RunIfJobSuccessful> <script>#!/bin/bash ${JENKINS_HOME}/scripts/run-managed-script 'Terminate VNF via HEAT' $OS_TENANT_NAME $OS_USERNAME $OS_PASSWORD $OS_AUTH_URL QWILT_${RUN}</script> </hudson.plugins.postbuildtask.TaskProperties> </tasks> </hudson.plugins.postbuildtask.PostbuildTask> </publishers> BEFORE (legacy copy of the job) <publishers> <hudson.plugins.postbuildtask.PostbuildTask plugin="postbuild-task@1.9"> <tasks> <hudson.plugins.postbuildtask.TaskProperties> <logTexts> <hudson.plugins.postbuildtask.LogProperties> <logText></logText> <operator>AND</operator> </hudson.plugins.postbuildtask.LogProperties> </logTexts> <EscalateStatus>true</EscalateStatus> <RunIfJobSuccessful>false</RunIfJobSuccessful> <script>#!/bin/bash ${JENKINS_HOME}/scripts/run-managed-script 'Remove from Quali Inventory' </script> </hudson.plugins.postbuildtask.TaskProperties> <hudson.plugins.postbuildtask.TaskProperties> <logTexts> <hudson.plugins.postbuildtask.LogProperties> <logText>Instantiate VNF via HEAT</logText> <operator>AND</operator> </hudson.plugins.postbuildtask.LogProperties> </logTexts> <EscalateStatus>true</EscalateStatus> <RunIfJobSuccessful>false</RunIfJobSuccessful> <script>#!/bin/bash ${JENKINS_HOME}/scripts/run-managed-script 'Terminate VNF via HEAT' $OS_TENANT_NAME $OS_USERNAME $OS_PASSWORD $OS_AUTH_URL QWILT_${RUN} </script> </hudson.plugins.postbuildtask.TaskProperties> <hudson.plugins.postbuildtask.TaskProperties> <logTexts> <hudson.plugins.postbuildtask.LogProperties> <logText>Instantiate VNF via VNFM</logText> <operator>AND</operator> </hudson.plugins.postbuildtask.LogProperties> </logTexts> <EscalateStatus>true</EscalateStatus> <RunIfJobSuccessful>false</RunIfJobSuccessful> <script>#!/bin/bash echo LCM terminate command</script> </hudson.plugins.postbuildtask.TaskProperties> <hudson.plugins.postbuildtask.TaskProperties> <logTexts> <hudson.plugins.postbuildtask.LogProperties> <logText>Instantiate VNF via NFVO</logText> <operator>AND</operator> </hudson.plugins.postbuildtask.LogProperties> </logTexts> <EscalateStatus>true</EscalateStatus> <RunIfJobSuccessful>false</RunIfJobSuccessful> <script>#!/bin/bash ${JENKINS_HOME}/scripts/run-managed-script 'Terminate VNF via NFVO' '' 'current'</script> </hudson.plugins.postbuildtask.TaskProperties> <hudson.plugins.postbuildtask.TaskProperties> <logTexts> <hudson.plugins.postbuildtask.LogProperties> <logText></logText> <operator>AND</operator> </hudson.plugins.postbuildtask.LogProperties> </logTexts> <EscalateStatus>true</EscalateStatus> <RunIfJobSuccessful>false</RunIfJobSuccessful> <script>#!/bin/bash ${JENKINS_HOME}/scripts/run-managed-script 'Remove images from Glance' $OS_TENANT_NAME $OS_USERNAME $OS_PASSWORD $OS_AUTH_URL</script> </hudson.plugins.postbuildtask.TaskProperties> <hudson.plugins.postbuildtask.TaskProperties> <logTexts> <hudson.plugins.postbuildtask.LogProperties> <logText></logText> <operator>AND</operator> </hudson.plugins.postbuildtask.LogProperties> </logTexts> <EscalateStatus>true</EscalateStatus> <RunIfJobSuccessful>false</RunIfJobSuccessful> <script>#!/bin/bash ${JENKINS_HOME}/scripts/run-managed-script 'Release tenant space back to Portal'</script> </hudson.plugins.postbuildtask.TaskProperties> <hudson.plugins.postbuildtask.TaskProperties> <logTexts> <hudson.plugins.postbuildtask.LogProperties> <logText></logText> <operator>AND</operator> </hudson.plugins.postbuildtask.LogProperties> </logTexts> <EscalateStatus>true</EscalateStatus> <RunIfJobSuccessful>false</RunIfJobSuccessful> <script>#!/bin/bash ${JENKINS_HOME}/scripts/run-managed-script 'Ensure a Marketplace issue has been created' "INCOMPLETE" "CSAR: ${PACKAGENAME}; Jenkins: ${BUILD_N UMBER}"</script> </hudson.plugins.postbuildtask.TaskProperties> </tasks> </hudson.plugins.postbuildtask.PostbuildTask> </publishers>  

          Sagar added a comment -

          Hi, does this have a fix or a workaround now?

          Sagar added a comment - Hi, does this have a fix or a workaround now?

          Mark Waite added a comment -

          This might be a slightly different presentation of a tables to divs error.

          If the previous installed version was prior to Jenkins 2.264, then you may need to review the installed plugins according to the instructions in the Jenkins 2.277.1 upgrade guide and in the Jenkins 2.277.1 webinar. Plugins with known security issues, plugins with known tables to divs issues, and deprecated plugins can break configuration form submission.

          If the previous installed version was 2.264 or later, then it is not likely that it is a tables to divs issue.

          Mark Waite added a comment - This might be a slightly different presentation of a tables to divs error. If the previous installed version was prior to Jenkins 2.264, then you may need to review the installed plugins according to the instructions in the Jenkins 2.277.1 upgrade guide and in the Jenkins 2.277.1 webinar. Plugins with known security issues, plugins with known tables to divs issues, and deprecated plugins can break configuration form submission. If the previous installed version was 2.264 or later, then it is not likely that it is a tables to divs issue.

          jim woodlock added a comment -

          I haven't found one;  my only choice was to flatten out the postbuild into a single entry (write progress to files as build occurs, then create my own if/then logic in the single post call to determine actions needed)

          jim woodlock added a comment - I haven't found one;  my only choice was to flatten out the postbuild into a single entry (write progress to files as build occurs, then create my own if/then logic in the single post call to determine actions needed)

            Unassigned Unassigned
            jimw jim woodlock
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: