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

Link from triggering promotion to triggered build

      When "Trigger a parameterized build" is used in a promotion step, there is no link to the parameterized build that was actually started.

      In the promotion, it looks like this following:

      Building on master in workspace /var/lib/jenkins/jobs/Main Build/workspace
      Promoting Main Build #222
      build hudson.plugins.parameterizedtrigger.BuildTrigger@25765df0 SUCCESS
      Marking build to keep forever.
      build hudson.plugins.promoted_builds.KeepBuildForeverAction@7e114ac6 SUCCESS
      Finished: SUCCESS

      The parameterized trigger succeeded, and the build started. But, in the build that is triggered, you get this:

      Started by upstream project "Main Build/promotion/Triggered Build" build number 32
      originally caused by: Legacy code started this job. No cause information is available

      There are no actual links between the build that was promoted, and the build that was triggered by the promotion.

      I think it would be very useful if there were links between the 2, in the same way that upstream / downstream builds are linked such that you can figure out which build caused another build.

          [JENKINS-17751] Link from triggering promotion to triggered build

          Greg Smith created issue -

          ikedam added a comment -

          When called as a publisher of a job, ParameterrizedTrigger launches downstream jobs by registering them to DependencyGraph. 
          When called in a promotion, ParameterrizedTrigger launches downstream jobs by itself.
          This difference seems make downstram builds lose their upstram build.

          In the promotion process, PromotedBuild doesn't trigger DependencyGraph. It is the reason ParameterrizedTrigger launches downstream jobs by itself. It is mentioned in the comment in hudson.plugins.parameterizedtrigger.BuildTrigger.canDeclare, and seems reported in Hudson-5679.
          (I could not access that page, however...)

          On the other hand, used hudson.tasks.BuildTrigger, the upstream build can be tracked from downstram builds even called in the promotion process.
          This is for PromotedBuilds treats hudson.tasks.BuildTrigger in a special way. This is done in JENKINS-1765 (and HUDSON-1765), patched in 88920e3.

          There could be two ways to improve ParameterrizedTrigger with PromotedBuilds.

          • Make PromotedBuilds to treat ParameterrizedTrigger as the way as built-in BuildTrigger.
          • Make ParameterrizedTrigger to trigger downstream jobs as PromotedBuilds does for built-in BuildTrigger.

          The latter one is better as a design, but I'm not sure ParameterrizedTrigger can retrieve the original build of the promotion.

          ikedam added a comment - When called as a publisher of a job, ParameterrizedTrigger launches downstream jobs by registering them to DependencyGraph.  When called in a promotion, ParameterrizedTrigger launches downstream jobs by itself. This difference seems make downstram builds lose their upstram build. In the promotion process, PromotedBuild doesn't trigger DependencyGraph. It is the reason ParameterrizedTrigger launches downstream jobs by itself. It is mentioned in the comment in hudson.plugins.parameterizedtrigger.BuildTrigger.canDeclare, and seems reported in Hudson-5679. (I could not access that page, however...) On the other hand, used hudson.tasks.BuildTrigger, the upstream build can be tracked from downstram builds even called in the promotion process. This is for PromotedBuilds treats hudson.tasks.BuildTrigger in a special way. This is done in JENKINS-1765 (and HUDSON-1765), patched in 88920e3 . There could be two ways to improve ParameterrizedTrigger with PromotedBuilds. Make PromotedBuilds to treat ParameterrizedTrigger as the way as built-in BuildTrigger. Make ParameterrizedTrigger to trigger downstream jobs as PromotedBuilds does for built-in BuildTrigger. The latter one is better as a design, but I'm not sure ParameterrizedTrigger can retrieve the original build of the promotion.
          ikedam made changes -
          Link New: This issue is related to JENKINS-1765 [ JENKINS-1765 ]
          ikedam made changes -
          Link New: This issue is related to JENKINS-5679 [ JENKINS-5679 ]

          ikedam added a comment -


          HUDSON-5679 is JENKINS-5679, and the commit is 6ff8203 .

          ikedam added a comment - HUDSON-5679 is JENKINS-5679 , and the commit is 6ff8203 .

          ikedam added a comment -

          ikedam added a comment - Sent a pull request: https://github.com/jenkinsci/parameterized-trigger-plugin/pull/38

          Greg Smith added a comment -

          This is great – Thanks much.

          Is this now tracked to be included in an upcoming update?

          Greg Smith added a comment - This is great – Thanks much. Is this now tracked to be included in an upcoming update?

          ikedam added a comment -

          I'm not sure for I'm not a maintainer of Parametrized Trigger plugin.
          I sent a pull request https://github.com/jenkinsci/parameterized-trigger-plugin/pull/38  and anyone deos not yet respond it.

          ikedam added a comment - I'm not sure for I'm not a maintainer of Parametrized Trigger plugin. I sent a pull request  https://github.com/jenkinsci/parameterized-trigger-plugin/pull/38  and anyone deos not yet respond it.

          Greg Smith added a comment -

          Can one of the owners of this plugin please pull this feature? I would be happy to help test. I think this would be a great addition.

          Greg Smith added a comment - Can one of the owners of this plugin please pull this feature? I would be happy to help test. I think this would be a great addition.

          ikedam added a comment -

          @gregcovertsmith
          Now I have a commit access to parameterized-trigger-plugin (https://groups.google.com/forum/#!topic/jenkinsci-dev/ua5aDnEwlec).
          Could you test this change before I merge it and release a new version?
          Please let me know the best way for you to test it:

          • You build a test version by yourself, and install it in the advanced menu.
          • I build a test version and attach it to this ticket. You install it in the advanced menu.
          • I prepare a custom update center, and you install a test version from that update center using UpdateSites Manager plugin

          ikedam added a comment - @gregcovertsmith Now I have a commit access to parameterized-trigger-plugin ( https://groups.google.com/forum/#!topic/jenkinsci-dev/ua5aDnEwlec ). Could you test this change before I merge it and release a new version? Please let me know the best way for you to test it: You build a test version by yourself, and install it in the advanced menu. I build a test version and attach it to this ticket. You install it in the advanced menu. I prepare a custom update center, and you install a test version from that update center using UpdateSites Manager plugin

            ikedam ikedam
            gregcovertsmith Greg Smith
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: