I hope it's okay to ask for recommendations here. I'm very new to devops, and am trying to get into the headspace of involved technologies and workflows.
I've created a webhook in my Bitbucket project that posts to http://JENKINS_URL/generic-webhook-trigger/invoke
. Using techniques described here, the corresponding Pipeline build in Jenkins only acts if the event was the pushing of a git tag.
I would like this Jenkins Pipeline build to trigger another Jenkins build that is triggerable by a human -- what are (good/proper) ways to organize this? In other words: if A
is a Pipeline build triggered by a generic webhook, I would like A
to figure out some variable values and trigger B
, passing it those variables, and I would like for a human to be able to manually trigger B
using human-supplied variables.
In my naivete, I imagined A
being a Pipeline build because they offer the option to use a Pipeline script, which is the only way I'm currently aware of that offers a way to access the Post content parameters. I.e. if A
was a freestyle build with a shell script, I don't know how I'd access the Post content.
However, when A
is a Pipeline build there is no Post-build Actions
section in the Jenkins UI -- i.e. I don't see how a Pipeline build can trigger a subsequent build.
From naivete, again, I envisioned a Pipeline build triggering a freestyle build because the Pipeline build allows accessing generic webhook post content, and the freestyle build is human-triggerable, and can be parameterized so that either the human or the calling Pipeline build can supply those parameters.
(I hope I might also direct some eyeballs to a separate, but related, question about passing parameters to parameterized builds: Why is parameter not propagated to post-build parameterized build?)