How do I chain a manually triggered downstream job, also passing parameters?

Viewed 27981

I am using Jenkins to create a build pipeline, and need to trigger a deployment step in the pipeline. This means a manual process (the build occurs automatically, timed, then stops at the deployment stage, waiting for manual authorization).

I need the deploy step to also be triggered with parameters from the prior step.

So, using the 'Parameterized plugin' I can pass parameters between jobs. I can trigger automated OR manually triggered downstream jobs (not sure if this is a standard feature, or manual builds was added by some plugin).

However, I cannot find any way to trigger a manual parameterized job.

Does anyone know of a way to do this? Is there another plugin I can use?

The reason I need the parameters is that I have created a generic deployment job, and need to pass in the module name, and maven version to deploy. I could create specific deployment jobs for each module, but this would be very painful.

I have also been considering the following, but it seems a kludge:

  1. Automated job performs build, triggers 'deployment trigger' build, passing parameters.
  2. 'Deployment trigger' writes these parameters to a file on the filesystem (build step - shell execution), and manually triggers the actual deployment job
  3. Deployment job (MUST use the WORKSPACE from the 'deployment trigger' job) reads parameters from the filesystem (using EnvInject plugin).

There are various problems with this approach

  1. I just don't like it.
  2. Has an intermediate jobs just to pass parameters. This clutters the Jenkins workspace
  3. As builds are performed on the same WORKSPACE, seems fragile to me (though workable!)
5 Answers
Related