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

Workflow plugin not working with with Gerrit event

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • gerrit-trigger-plugin
    • Jenkins version : 1.580.1
      OS: RHEL-7
      Web Browser: Firefox
      Java Version:
      java version "1.7.0_71"
      OpenJDK Runtime Environment (rhel-2.5.3.1.el7_0-x86_64 u71-b14)
      OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

      Each time when I try to add Gerrit Event for a workflow job it's throw below error when try to save or apply it.


      Stack trace

      javax.servlet.ServletException: java.lang.ClassCastException: org.jenkinsci.plugins.workflow.job.WorkflowJob cannot be cast to hudson.model.AbstractProject
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:795)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:875)
      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:745)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:875)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:237)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      at org.eclipse.jetty.server.Server.handle(Server.java:370)
      at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
      at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
      at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.ClassCastException: org.jenkinsci.plugins.workflow.job.WorkflowJob cannot be cast to hudson.model.AbstractProject
      at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger.start(GerritTrigger.java:124)
      at org.jenkinsci.plugins.workflow.job.WorkflowJob.submit(WorkflowJob.java:168)
      at hudson.model.Job.doConfigSubmit(Job.java:1172)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:46)
      at org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:399)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:745)
      ... 46 more

          [JENKINS-26010] Workflow plugin not working with with Gerrit event

          Jacob Keller added a comment -

          Any chance someone could help step me through issues? I use this plugin today, and would like to move to workflows, but obviously can't easily do that until GerritTrigger is updated.

          I'm willing to attempt to help make this change, but I don't know if I have enough knowledge.

          The primary assumption being made seems to be that GerritTrigger just assumes everything is an AbstractProject. However, just swapping to ParameterizedJobMixIn.ParameterizedJob doesn't seem to work directly, as Gerrit Trigger uses .addTrigger() and .getTrigger() which are not part of the interface.

          I think we can implement .getTrigger() in terms of .getTriggers() from the interface, but .addTrigger() appears to have no equivalent.. I am not sure exactly how we'd fix this. I don't know how triggers work for workflows, though I assume they'd be similar to regular projects?

          Is it possible to add triggers to the .getTriggers() Map returned by the interface?

          Jacob Keller added a comment - Any chance someone could help step me through issues? I use this plugin today, and would like to move to workflows, but obviously can't easily do that until GerritTrigger is updated. I'm willing to attempt to help make this change, but I don't know if I have enough knowledge. The primary assumption being made seems to be that GerritTrigger just assumes everything is an AbstractProject. However, just swapping to ParameterizedJobMixIn.ParameterizedJob doesn't seem to work directly, as Gerrit Trigger uses .addTrigger() and .getTrigger() which are not part of the interface. I think we can implement .getTrigger() in terms of .getTriggers() from the interface, but .addTrigger() appears to have no equivalent.. I am not sure exactly how we'd fix this. I don't know how triggers work for workflows, though I assume they'd be similar to regular projects? Is it possible to add triggers to the .getTriggers() Map returned by the interface?

          rin_ne added a comment -

          Hi jekeller, I'm also looking at this issue.

          Maybe .getTrigger() can be resolved within this method. .addTrigger() is not used in GerritTrigger class as of now. So we can proceed to next step.

          If AbstractProject in type parameter of Trigger is changed to ParameterizedJob, we would also need to change ones in argument type of methods. In this case, I found another issue.

          Triggered build is scheduled by EventListener.schedule(). This method takes project instance as argument then would call ParameterizedJobMixIn.schedule2() accordingly. It needs the value of quiet period field in project instance. But it has been placed into AbstractProject. Neither Job nor ParameterizedJob have such interface.
          In workflow plugin, it is placed into WorkflowJob. If triggered build for workflow needs to follow quiet period which project has, this plugin need to have dependency to workflow plugin. Personally I don't prefer adding it as dependency.

          If we can avoid getting quiet period in project then use GT's ones only, this issue can be solved. But I'm not sure this solution can be taken because it might be degrade.

          rsandell, WDYT? I think it is also one of solution not to support workflow...

          rin_ne added a comment - Hi jekeller , I'm also looking at this issue. Maybe .getTrigger() can be resolved within this method. .addTrigger() is not used in GerritTrigger class as of now. So we can proceed to next step. If AbstractProject in type parameter of Trigger is changed to ParameterizedJob , we would also need to change ones in argument type of methods. In this case, I found another issue. Triggered build is scheduled by EventListener.schedule(). This method takes project instance as argument then would call ParameterizedJobMixIn.schedule2() accordingly. It needs the value of quiet period field in project instance. But it has been placed into AbstractProject . Neither Job nor ParameterizedJob have such interface. In workflow plugin, it is placed into WorkflowJob . If triggered build for workflow needs to follow quiet period which project has, this plugin need to have dependency to workflow plugin. Personally I don't prefer adding it as dependency. If we can avoid getting quiet period in project then use GT's ones only, this issue can be solved. But I'm not sure this solution can be taken because it might be degrade. rsandell , WDYT? I think it is also one of solution not to support workflow...

          Jacob Keller added a comment - - edited

          It appeared that we use addTrigger elsewhere in the code. (for where we re-name a server)

          I don't know exactly if we need the quiet period. But I do think that not supporting workflows is a bad idea. The right answer would be conditional support, which I'm unsure of how to do. IE: support workflow if it's installed but don't otherwise? There has to be a way to do this. Plugins extend options and features of other plugins. So how do they know if the one plugin is installed or not? Or do they just have a dependency ordering?

          If I understand it, the main reason for a quiet period is to ensure that we get all the updates if multiple commits are submitted at once. We don't want to run the job too quickly. But this doesn't really apply with gerrit trigger, at least not in the simple case. I'm not sure that honoring the quiet period is really important.

          My gut says go with a conditional dependency if possible, otherwise ignore the quiet period.

          But last I checked we had other places which had some dependency on the AbstractProject. Or did I just see repetition of the same problems?

          I know that I would like to use gerrit trigger with workflows, and can't yet. There were some other future enhancements for adding workflow steps which would also be super nice but not critical for getting workflows useable with the trigger.

          Note obviously I don't think that "not supporting workflows" is a good idea, as they are definitely where I think jenkins use should move towards.

          Jacob Keller added a comment - - edited It appeared that we use addTrigger elsewhere in the code. (for where we re-name a server) I don't know exactly if we need the quiet period. But I do think that not supporting workflows is a bad idea. The right answer would be conditional support, which I'm unsure of how to do. IE: support workflow if it's installed but don't otherwise? There has to be a way to do this. Plugins extend options and features of other plugins. So how do they know if the one plugin is installed or not? Or do they just have a dependency ordering? If I understand it, the main reason for a quiet period is to ensure that we get all the updates if multiple commits are submitted at once. We don't want to run the job too quickly. But this doesn't really apply with gerrit trigger, at least not in the simple case. I'm not sure that honoring the quiet period is really important. My gut says go with a conditional dependency if possible, otherwise ignore the quiet period. But last I checked we had other places which had some dependency on the AbstractProject. Or did I just see repetition of the same problems? I know that I would like to use gerrit trigger with workflows, and can't yet. There were some other future enhancements for adding workflow steps which would also be super nice but not critical for getting workflows useable with the trigger. Note obviously I don't think that "not supporting workflows" is a good idea, as they are definitely where I think jenkins use should move towards.

          rin_ne added a comment -

          Sorry, my mention regarding quiet period was not enough.

          GT has independent filed regarding quiet period as named Build Schedule Delay. GT compares both project and GT value then set bigger ones as argument of schedule() when scheduling build. Thus GT's quiet period is still enabled even if it cannot be taken from project.

          Regarding quiet period, the below links should be read.

          For project:
          https://github.com/jenkinsci/jenkins/blob/master/core/src/main/resources/jenkins/model/GlobalQuietPeriodConfiguration/help-quietPeriod.html

          For GT:
          https://github.com/jenkinsci/gerrit-trigger-plugin/blob/master/src/main/webapp/help-BuildScheduleDelay.html

          rin_ne added a comment - Sorry, my mention regarding quiet period was not enough. GT has independent filed regarding quiet period as named Build Schedule Delay . GT compares both project and GT value then set bigger ones as argument of schedule() when scheduling build. Thus GT's quiet period is still enabled even if it cannot be taken from project. Regarding quiet period, the below links should be read. For project: https://github.com/jenkinsci/jenkins/blob/master/core/src/main/resources/jenkins/model/GlobalQuietPeriodConfiguration/help-quietPeriod.html For GT: https://github.com/jenkinsci/gerrit-trigger-plugin/blob/master/src/main/webapp/help-BuildScheduleDelay.html

          Jacob Keller added a comment -

          Ok so it has a few good uses for the build delay. We should be able to check the instance to see if it's an AbstractProject and honor the delay there at least? Then we'd be deficient in terms of workflows but that would be better than we are now?

          At least if the user needs both delays they will be able ot configure the delay in the gerrit settings to be long enough.

          I'm also curious how possible a soft dependency on workflows would require? Ie: check if we have it and enable an instanceof check if we do? I'm sure there should be a way to do that....

          Jacob Keller added a comment - Ok so it has a few good uses for the build delay. We should be able to check the instance to see if it's an AbstractProject and honor the delay there at least? Then we'd be deficient in terms of workflows but that would be better than we are now? At least if the user needs both delays they will be able ot configure the delay in the gerrit settings to be long enough. I'm also curious how possible a soft dependency on workflows would require? Ie: check if we have it and enable an instanceof check if we do? I'm sure there should be a way to do that....

          Tom FENNELLY added a comment -

          Hi guys. Just so ye know, I'm going to have a first pass attempt a making the gerrit trigger plugin workflow compatible. I'll report progress back here.

          Tom FENNELLY added a comment - Hi guys. Just so ye know, I'm going to have a first pass attempt a making the gerrit trigger plugin workflow compatible. I'll report progress back here.

          Tom FENNELLY added a comment -

          Tom FENNELLY added a comment - I created a WiP PR: https://github.com/jenkinsci/gerrit-trigger-plugin/pull/240

          Code changed in jenkins
          User: Tom Fennelly
          Path:
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/EventListener.java
          http://jenkins-ci.org/commit/gerrit-trigger-plugin/4fe3786915d0cdfcdecae7bbfa2cd6342a052a73
          Log:
          Merge pull request #1 from jacob-keller/JENKINS-26010

          add actions to schedule2 for Workflow Jobs

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Tom Fennelly Path: src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/EventListener.java http://jenkins-ci.org/commit/gerrit-trigger-plugin/4fe3786915d0cdfcdecae7bbfa2cd6342a052a73 Log: Merge pull request #1 from jacob-keller/ JENKINS-26010 add actions to schedule2 for Workflow Jobs

          Code changed in jenkins
          User: Robert Sandell
          Path:
          pom.xml
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/ChangeIdAnnotator.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/GerritRebuildValidator.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/GerritServer.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/PluginImpl.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/dependency/BecauseDependentBuildIsBuilding.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/dependency/DependencyQueueTaskDispatcher.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/events/ManualPatchsetCreated.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/events/lifecycle/GerritEventLifecycle.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/events/lifecycle/GerritEventLifecycleListener.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/GerritMessageProvider.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/GerritNotifier.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/NotificationFactory.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/ParameterExpander.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/ToGerritRunListener.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/job/rest/BuildStartedRestCommandJob.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/job/ssh/BuildStartedCommandJob.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/model/BuildMemory.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/EventListener.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritItemListener.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTrigger.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTriggerBuildChooser.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTriggerParameters.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTriggerTimerTask.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/actions/RetriggerAction.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/actions/RetriggerAllAction.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/actions/manual/TriggerMonitor.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/data/TriggerContext.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/data/TriggeredItemEntity.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/replication/ReplicationQueueTaskDispatcher.java
          src/main/resources/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTrigger/config.jelly
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/dependency/DependencyQueueTaskDispatcherTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/ParameterExpanderTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/ToGerritRunListenerTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/job/rest/BuildCompletedRestCommandJobHudsonTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/model/BuildMemoryTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/model/MemoryImprintTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/EventListenerTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTriggerTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/WorkflowTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/data/TriggerContextTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/data/TriggerContextTriggeredItemEntityHudsonTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/mock/GerritEventLifeCycleAdaptor.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/mock/Setup.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/mock/TestUtils.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/replication/ReplicationQueueTaskDispatcherTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/spec/SpecGerritTriggerHudsonTest.java
          src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/spec/gerritnotifier/SpecGerritVerifiedSetterTest.java
          http://jenkins-ci.org/commit/gerrit-trigger-plugin/5661bcfce744c155196b67ef539cd94075479d35
          Log:
          Merge pull request #240 from tfennelly/JENKINS-26010

          JENKINS-26010 Workflow compatibility

          Compare: https://github.com/jenkinsci/gerrit-trigger-plugin/compare/0e79ae10ed6a...5661bcfce744

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Robert Sandell Path: pom.xml src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/ChangeIdAnnotator.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/GerritRebuildValidator.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/GerritServer.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/PluginImpl.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/dependency/BecauseDependentBuildIsBuilding.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/dependency/DependencyQueueTaskDispatcher.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/events/ManualPatchsetCreated.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/events/lifecycle/GerritEventLifecycle.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/events/lifecycle/GerritEventLifecycleListener.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/GerritMessageProvider.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/GerritNotifier.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/NotificationFactory.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/ParameterExpander.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/ToGerritRunListener.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/job/rest/BuildStartedRestCommandJob.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/job/ssh/BuildStartedCommandJob.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/model/BuildMemory.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/EventListener.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritItemListener.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTrigger.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTriggerBuildChooser.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTriggerParameters.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTriggerTimerTask.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/actions/RetriggerAction.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/actions/RetriggerAllAction.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/actions/manual/TriggerMonitor.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/data/TriggerContext.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/data/TriggeredItemEntity.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/replication/ReplicationQueueTaskDispatcher.java src/main/resources/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTrigger/config.jelly src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/dependency/DependencyQueueTaskDispatcherTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/ParameterExpanderTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/ToGerritRunListenerTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/job/rest/BuildCompletedRestCommandJobHudsonTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/model/BuildMemoryTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/gerritnotifier/model/MemoryImprintTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/EventListenerTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTriggerTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/WorkflowTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/data/TriggerContextTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/data/TriggerContextTriggeredItemEntityHudsonTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/mock/GerritEventLifeCycleAdaptor.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/mock/Setup.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/mock/TestUtils.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/replication/ReplicationQueueTaskDispatcherTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/spec/SpecGerritTriggerHudsonTest.java src/test/java/com/sonyericsson/hudson/plugins/gerrit/trigger/spec/gerritnotifier/SpecGerritVerifiedSetterTest.java http://jenkins-ci.org/commit/gerrit-trigger-plugin/5661bcfce744c155196b67ef539cd94075479d35 Log: Merge pull request #240 from tfennelly/ JENKINS-26010 JENKINS-26010 Workflow compatibility Compare: https://github.com/jenkinsci/gerrit-trigger-plugin/compare/0e79ae10ed6a...5661bcfce744

          Code changed in jenkins
          User: Jesse Glick
          Path:
          COMPATIBILITY.md
          http://jenkins-ci.org/commit/workflow-plugin/39a20897632ab295c8b394b9f7cb8f114a4f7b26
          Log:
          [FIXED JENKINS-26010] Noting release.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: COMPATIBILITY.md http://jenkins-ci.org/commit/workflow-plugin/39a20897632ab295c8b394b9f7cb8f114a4f7b26 Log: [FIXED JENKINS-26010] Noting release.

            tfennelly Tom FENNELLY
            kumarpraveen Praveen Kumar
            Votes:
            3 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: