jenkinsci / gitlab-hook-plugin

Deprecated, see https://www.jenkins.io/jep/7
133 stars 42 forks source link

Not working with Jenkins 2.0 Pipeline plugin #31

Open techgnosis opened 8 years ago

techgnosis commented 8 years ago

Log says "WARNING: no project references the given repo url and commit branch" However, I get all the normal spew leading up to the warning, such as..

INFO: gitlab web hook triggered for

So the web hook is triggered and it finds all the commits. It just fails at the end.

Running Jenkins 2.0

chrisjunlee commented 8 years ago

What are the repro steps and expected behavior?

robertbus commented 8 years ago

I can confirm that the plugin does not work with Jenkins 2.0 Pipeline.

Steps to reproduce:

  1. create git repo in GitLab with a Jenkinsfile
  2. configure the 'build_now' webhook triggered by push events in GitLab pointing it to Jenkins
  3. configure a new Pipeline job in Jenkins using above created repo
  4. push some change into GitLab
  5. check Jenkins logs

Expected behavior:

Actual behavior:

To verify that the plugin works otherwise I also created a freestyle job in Jenkins using the same git repo and a dummy shell step just echoing some text.

Having both jobs (pipeline and freestyle) in Jenkins and pushing changes to the git repo (or clicking on the test hook link in GitLab) leads to the result that the freestyle project build kicks off, but the pipeline one doesn't.

In the logs I could see that Jenkins found only one matching project, the freestyle one.

I hope this helps to pinpoint the cause of this issue.

singh-abhijeet commented 8 years ago

Unable to trigger Pipeline Project build on Jenkins 2.7, Pipeline Plugin 2.2, GitLab 7.7. Jenkins log: No valid crumb was included in request for /github-webhook/. Returning 403.

Tried these URLs, but in vain:

Freestyle project builds fine though.

Note: Disabled Cross Site Forgery security on Jenkins to make it working. Unchecked Manage Jenkins > Configure Global Security > Prevent Cross Site Request Forgery exploits on Jenkins.

o8o commented 8 years ago

I used this URL and it works: http://jenkins host:port/project/my job name

amontalban commented 7 years ago

I'm still having this issue:

Feb 24, 2017 7:54:47 PM com.dabsquared.gitlabjenkins.webhook.GitLabWebHook getDynamic
INFO: WebHook called with url: /jenkins/project/Pipeline
Feb 24, 2017 7:54:48 PM org.jruby.javasupport.JavaMethod invokeDirectWithExceptionHandling
INFO: gitlab web hook triggered for
   - repo url: git@git.ACME.com:developers/ACME.git
   - branch: pipeline
   - with payload:
{
  "before": "19ed3ef57b7a1b12dbf546649ae61b234d8959fc",
  "after": "c9d3369b5387a9c83c810448ad2854c7d883be9c",
  "ref": "refs/heads/pipeline",
  "user_id": 3,
  "user_name": "Andres Montalban",
  "project_id": 5,
  "repository": {
    "name": "ACME",
    "url": "git@git.ACME.com:developers/ACME.git",
    "description": "ACME Core Repository",
    "homepage": "https://git.ACME.com/developers/ACME"
  },
  "commits": [
    {
      "id": "c9d3369b5387a9c83c810448ad2854c7d883be9c",
      "message": "Initial config of Jenkins pipeline",
      "timestamp": "2017-02-24T19:54:40+00:00",
      "url": "https://git.ACME.com/developers/ACME/commit/c9d3369b5387a9c83c810448ad2854c7d883be9c",
      "author": {
        "name": "Andres Montalban",
        "email": "amontalban@ACME.com"
      }
    }
  ],
  "total_commits_count": 1
}
Feb 24, 2017 7:54:48 PM org.jruby.javasupport.JavaMethod invokeDirectWithExceptionHandling
INFO: matching projects:
   - Checkout_ACME_Repo
Feb 24, 2017 7:54:48 PM org.jruby.javasupport.JavaMethod invokeDirectWithExceptionHandling
WARNING: no project references the given repo url and commit branch

I have two jobs Checkout_ACME_Repo (FreeStyle) and Pipeline (Pipeline), but only former is matching.

vkotovv commented 7 years ago

@singh-abhijeet is this hook working with pipelines if you disable Cross Site Forgery security as you said?

singh-abhijeet commented 7 years ago

@vkotovv Yes Vadim, the 403 error was due to Cross Site (Domain) request to the Web Hook. Disabling the security option helped. This solution is advisable if you're running Jenkins, Git within your org's Firewall; as disabling it can invite False/Forgery request to the Web Hook if your Jenkins instance is exposed publicly via Internet.

leti-ulloa commented 7 years ago

I'm having the same problem originally reported.. the web hook works fine on a freestyle project but does not work in pipeline project.. Has anyone found a workaround for this?

bmaehr commented 7 years ago

It is still not working with Pipeline-Projekts.

colinlabs commented 6 years ago

@bmaehr thanks, I had build successfully, it's docker image's problem, your PR work well in my machine,support 2.0 pipeline web hook and system hook . @javiplx , can you merge this PR to master branch?

ikus060 commented 6 years ago

Is this issue fixed with the previous PR ?

bmaehr commented 6 years ago

My commit should fix it, but I also don't understand @colinlabs comment.

colinlabs commented 6 years ago

@bmaehr it works, but there is a problem, must success run a job before trigger hook

ikus060 commented 6 years ago

@colinlabs You mean: a job must run successfully to make the web hook work ?

colinlabs commented 6 years ago

@ikus060 yes, otherwise, it will raise an "Template not find" error

bmaehr commented 6 years ago

I think it is enough that the template has run once.

ezraroi commented 5 years ago

he, any update on this? looks like the PR was never merged.... for me it is not working even when the pipeline ran once

javiplx commented 5 years ago

It looks like I didn't notice the notification about jenkinsci/gitlab-hook-plugin#55. I need to arrange it to execute tests to ensure that it does not break something, as happened with javiplx/jenkins-gitlab-hook-plugin#100

ezraroi commented 5 years ago

@javiplx so we can expect to get a new version with this feature?