简体   繁体   中英

Jenkins multi-branch pipelines' other repo's jobs triggered with bitbucket webhook push

Using Jenkins 2.263.2, I configured Bitbucket webhook and Jenkinsfile (declarative jenkins pipeline).

When I push a commit to repo A, other multi-branch pipelines' jobs (ie pipelines for repo BE) are triggered.

It seems that pushing to only repo A would trigger other pipelines.

I tried all of these:

triggers { 
   bitbucketPush()
}

Tried overriding Repository URL ( https://github.com/jenkinsci/bitbucket-plugin#override-repository-url )

triggers { 
   bitbucketPush overrideUrl: 'https://bitbucket.org/xxx/repo-name'  
}

Tried adding property "Suppress Automatic SCM Trigger" to job configuration ( https://stackoverflow.com/a/53769527 )

在此处输入图像描述

What I'm observing is when unrelated repo's jobs are triggered, their repo's webhook request are not there, neither is Jenkins scan log for that repo.

在此处输入图像描述

在此处输入图像描述

Any ideas how to stop multiple unrelated Jenkins jobs to be triggered?

This is how i accomplished, hope it works for you too.

for pipelineJob

pipelineJob('pipeline-job-1') {

    configure { project ->
    
        project / 'properties' / 'org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty' / triggers / 'com.cloudbees.jenkins.plugins.BitBucketTrigger' {
            spec()
            overrideUrl('git@foo.bar:baz/repo.git')
        }
    }

    /// some codes

}

for multibranchPipelineJob

multibranchPipelineJob('my-multibranch-job1') {

 configure { project ->
        
        project / triggers / 'com.cloudbees.jenkins.plugins.BitBucketMultibranchTrigger' {
            spec()
            overrideUrl('git@foo.bar:baz/repo.git')
        }
    }

    /// some codes

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM