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

Manual trigger cannot handle 'join' after fork, i.e. several upstream dependencies

    XMLWordPrintable

Details

    Description

      We have a pipeline like this:

      A ---> B -manual-> D
        \--> C -manual-> D
      

      Note that job B and C both has a manual trigger for D, or in other terms, D has several upstream dependencies.

      The manual trigger button in top row works ok, but not the one in the second. Looking at the generated html of the manual trigger button of D in the second row in the pipeline view:

      buildPipeline.triggerBuild(1559225617, 'A', 66, 'D', [1773967674])
      

      You see that the upstream job is A not B as it should be.

      It seems to me that the calculation of the parameters is done from the downstream job and up, taking the first job in the list of upstream jobs in both cases. The thinking is: 'trigger this job and look in upstream for params'.

      I think it has to be done the other way around. You could imagine this as having the trigger button between the jobs instead of on the downstream job, thinking: 'continue the pipeline, trigger the downstream jobs with params from upstream'. After all, you design your pipeline that way: 'after B do C with these params…', not 'what are the dependencies of C?'

      Plugin Version: 1.3.5

      Attachments

        Issue Links

          Activity

            marcus_phi Marcus Philip added a comment -

            I think JENKINS-21527 is the same underlying problem.

            marcus_phi Marcus Philip added a comment - I think JENKINS-21527 is the same underlying problem.

            People

              Unassigned Unassigned
              marcus_phi Marcus Philip
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: