user_9090
user_9090

Reputation: 1984

How to add webhooks in gitlab for multibranch pipeline jenkins

I want to trigger multi-branch pipeline for every push, can anyone please let me know can how can we configure web-hooks in gitlab for multi-branch pipeline.

Upvotes: 5

Views: 5655

Answers (1)

Armin
Armin

Reputation: 403

If you were wondering where the trigger setting is in Multibranch pipeline job settings, this will answer it:

Unlike other job types, there is no 'Trigger' setting required for a Multibranch job configuration; just create a webhook in GitLab for push requests which points to the project's webhook URL.

Source: https://github.com/jenkinsci/gitlab-plugin#webhook-url

You can also provide GitLab triggers within the Jenkinsfile. You can see examples within the link provided above. This is how I got it to work:

    pipeline {
        agent {
            node {
                ...
            }
        }
        options {
            gitLabConnection('GitLab')
        }
        triggers {
            gitlab(
                triggerOnPush: true,
                triggerOnMergeRequest: true,
                branchFilterType: 'All',
                addVoteOnMergeRequest: true)
        }
        stages {
            ...
        }
    }

Then in your GitLab Project go to Settings -> Integrations and type in the Jenkins Job project url in 'URL'. URL should take either form:

  • http://JENKINS_URL/project/PROJECT_NAME
  • http://JENKINS_URL/project/FOLDER/PROJECT_NAME

Notice that the url does not contain "job" within it and instead uses "project".

Make sure under Triggers, you have "Push Events" checked as well if you want the job to trigger whenever someone pushes a commit.

Finally, run a build against your Jenkinsfile first before testing the webhook so Jenkins will pick-up the trigger settings for GitLab.

Upvotes: 4

Related Questions