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

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

XMLWordPrintable

      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

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

              Created:
              Updated: