Jenkins: Trigger Multi-branch pipeline on upstream change Jenkins: Trigger Multi-branch pipeline on upstream change jenkins jenkins

Jenkins: Trigger Multi-branch pipeline on upstream change


If you're using a declarative multi-branch pipeline, you can use:

triggers {  upstream(upstreamProjects: "some_project/some_branch", threshold: hudson.model.Result.SUCCESS)}

If you wish for branch matching to occur across dependencies you can use:

triggers {  upstream(upstreamProjects: "some_project/" + env.BRANCH_NAME.replaceAll("/", "%2F"), threshold: hudson.model.Result.SUCCESS)}


I'm currently trying to get this to work for our deployment.The closest I've got is adding the following to the downstream Jenkinsfile;

properties([    pipelineTriggers([        triggers: [            [                $class: 'jenkins.triggers.ReverseBuildTrigger',                upstreamProjects: "some_project", threshold: hudson.model.Result.SUCCESS            ]        ]    ]),])

That at least gets Jenkins to acknowledge that it should be triggering when'some_project' get's built i.e it appears in the "View Configuration" page.

However so far builds of 'some_project' still don't trigger the downstreamproject as expected.

That being said maybe you'll have more luck.Let me know if it works for you.

(Someone else has asked a similar question Jenkins multi-branch pipeline and specifying upstream projects )


Pipeline Job configuration still natively supports Build Triggers, including reverse build trigger, Build after other projects are built. You can even specify a branch from Pipeline Multi-branch project.

Unfortunately reverse triggering is not available Pipeline Multi-branch jobs. The closest you can get to reverse triggering is by using Promoted Builds Plugin. But it still doesn't let you configure per branch setup.

Additionally Snippet Generator clarifies:

The following variables are currently unavailable inside a Pipeline script:

NODE_LABELS WORKSPACE SCM-specific variables such as SVN_REVISION

ps. Maybe the only way would be to prompt from upstream to downstream.