Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build on push for existing merge request is not working #90

Closed
jlove4m opened this issue Jun 30, 2015 · 5 comments
Closed

Build on push for existing merge request is not working #90

jlove4m opened this issue Jun 30, 2015 · 5 comments

Comments

@jlove4m
Copy link

jlove4m commented Jun 30, 2015

Hi!

We're having an issue with this plugin. What we're seeing is that when someone does a push for an open merge request a build is not triggered. Regular merge requests are, however, being built. If we enable build on pushes they also work - we're just having an issue with pushes on open merge requests.

Here's what the System log looks like in jenkins:

Jun 30, 2015 2:37:51 PM INFO com.dabsquared.gitlabjenkins.GitLabWebHook getDynamic
WebHook called with url: /commits/ccd968415cae32c93a4136b24235082f8de44028/status.json
Jun 30, 2015 2:45:58 PM INFO com.dabsquared.gitlabjenkins.GitLabWebHook getDynamic
WebHook called with url: /build
Jun 30, 2015 2:45:58 PM WARNING org.eclipse.jetty.util.log.JavaUtilLog warn
Error while serving https://ci2.thorleyindustries.com/project/AMS-TestJenkinsIntegration/build
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor284.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:409)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:411)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:123)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:168)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Error: java.net.MalformedURLException: no protocol: /api/v3/projects/163/merge_requests?state=opened&per_page=100&private_token=
at org.gitlab.api.http.GitlabHTTPRequestor$1.(GitlabHTTPRequestor.java:169)
at org.gitlab.api.http.GitlabHTTPRequestor.asIterator(GitlabHTTPRequestor.java:161)
at org.gitlab.api.http.GitlabHTTPRequestor.getAll(GitlabHTTPRequestor.java:141)
at com.dabsquared.gitlabjenkins.GitLabWebHook.buildOpenMergeRequests(GitLabWebHook.java:385)
at com.dabsquared.gitlabjenkins.GitLabWebHook.generatePushBuild(GitLabWebHook.java:373)
at com.dabsquared.gitlabjenkins.GitLabWebHook.generateBuild(GitLabWebHook.java:340)
at com.dabsquared.gitlabjenkins.GitLabWebHook.getDynamic(GitLabWebHook.java:163)
... 69 more
Caused by: java.net.MalformedURLException: no protocol: /api/v3/projects/163/merge_requests?state=opened&per_page=100&private_token=
at java.net.URL.(URL.java:585)
at java.net.URL.(URL.java:482)
at java.net.URL.(URL.java:431)
at org.gitlab.api.GitlabAPI.getAPIUrl(GitlabAPI.java:69)
at org.gitlab.api.http.GitlabHTTPRequestor$1.(GitlabHTTPRequestor.java:167)
... 75 more

Can you provide any direction to what we should look at next? I'm a little baffled because merges work on their own, and pushes work on their own but not a push on an open merge request.

Thanks!

@xfreebird
Copy link

Same problem here

@joshuajorel
Copy link

I'm experiencing the same problem. What version are you guys currently using? We're using Gitlab 7.14.3. Would the upgrade to Gitlab >= 8.1 fix the problem?

[UPDATE] I'm not experiencing that exception, however my builds aren't triggering on my open merge requests when pushing to the source or target branch.

@joshuajorel
Copy link

@omehegan @xfreebird @jlove4m as of the latest commit, I found the problem and I have temporarily solved it with my latest push to my own repository. The problem is that Gitlab ver.7.14.3, sends a "merge_request" rather than a "push" action when you push to your own repository when you have an Open MR. It never calls the buildOpenMergeRequests method after that since currently, that method is called when a "push" build is detected, which isn't the case. I've made a fix to call the buildOpenMergeRequests method after it detects an update. I'm still thinking of better ways to fix the code and sorting out a few things to make some better changes with the code so I'm not going to make a pull request just yet. As of MR #128, I've modified my code to fix some of the broken parts (at least on my end).

I'm currently using Gitlab ver. 7.14.3, gitlab-plugin ver. 1.1.28, and Jenkins 1.625.2.

@ghost
Copy link

ghost commented Jan 22, 2016

Do we have any update on this problem? We have started to experience this after upgrading to 8.2.3-ee

@omehegan
Copy link
Member

#207 should fix this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants