I have a job (call it BIGJOB) in Jenkins; several of the build steps are to trigger builds on other jobs (call them SMALLJOB) using the Parameterized Trigger Plugin then wait for them to complete. What I need to do is retrieve artifacts from the triggered build on SMALLJOB.
Originally, I thought I could use the Copy Artifact Plugin to retrieve the artifacts from the "last build" of the triggered SMALLJOB. And this does work reliably when there is only one SMALLJOB running at a time.
But I've got multiple BIGJOBs running, all triggering multiple SMALLJOBs so that using the "last build" is unreliable of two SMALLJOBs finish at the same time.
Is there a more reliable way of getting the artifacts from the specific downstream job? If I could just get the build number, I could use curl to get the artifacts.
You can probably find the last build number with groovy in regards to your upstream build, increment it, and assign that value to a dynamic parameter. That means it would be a number generated at build-queue and as long as it's forwarded downstream, should remain the same when needing to reference it.
A downstream job is a configured project that is triggered as part of a execution of pipeline. Upstream and downstream jobs help you to configure the sequence of execution for different operations and hence you can orchestrate the flow of execution. We can configure one or more projects as downstream jobs in Jenkins.
Just if any (else) stumples accross this question in the future:
When using the Parameterized Trigger Plugin as a build step, then if the trigger is configured with the "Block until the triggered projects finish their builds" enabled, the following Environment variables are made available for further build steps:
from version 2.17 onwards
See more info on the plugin website - linked in the question.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With