Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Triggering a multibranch pipeline job from an other multibranch pipeline

I have a scenario where but I have 2 projects (A and B), both are configured in Jenkins with multibranch pipeline jobs, problem is that Project B depends on Project A.

So I find that some times when I check in code in Project A, I also need to build ProjectB once A was built. Now before I started investigating pipeline builds, I'd have a job per branch and then trigger in Jenkins the appropriate job for Project B for the appropriate branch.

What I'd like to set up in a Jenkinsfile so that when ProjectA/develop executes it then triggers the multibranch pipeline job for ProjectB and the same branch.

I have:

stage ('Trigger Tenant Builds') {
        build job: "ProjectB/${branch}", wait: false
    }

But my ProjectA pipeline fails with:

ERROR: No parameterized job named ProjectB/develop found

Any ideas?

like image 682
John McDonnell Avatar asked Jul 10 '17 11:07

John McDonnell


1 Answers

I've resolved this now. What I am doing is defining an upstream trigger in project B's Jenkinsfile:

pipelineTriggers([ 
    upstream( 
       threshold: hudson.model.Result.SUCCESS, 
       upstreamProjects: "/ProjectA/" + env.BRANCH_NAME.replaceAll("/", "%2F") 
    )
])
like image 82
John McDonnell Avatar answered Nov 15 '22 20:11

John McDonnell