[JIRA] [gitlab-plugin] (JENKINS-34284) Web hook http://JENKINS_URL/project/PROJECT_NAME fails

45 views
Skip to first unread message

johnm@johnnado.com (JIRA)

unread,
Apr 15, 2016, 1:06:08 PM4/15/16
to jenkinsc...@googlegroups.com
John McGehee created an issue
 
Jenkins / Bug JENKINS-34284
Web hook http://JENKINS_URL/project/PROJECT_NAME fails
Issue Type: Bug Bug
Assignee: Robin Müller
Components: gitlab-plugin
Created: 2016/Apr/15 5:05 PM
Environment: GitLab Plugin 1.1.32
Jenkins. 1.625.3
GitLab 8.6.4
Priority: Major Major
Reporter: John McGehee

I am trying to set up the Jenkins GitLab plugin. The GitLab plugin installation instructions say to use the web hook http://JENKINS_URL/project/PROJECT_NAME. Upon testing this hook in GitLab, Jenkins responds with the giant stack trace shown below.

I tried the more standard web hook http://JENKINS-SERVER/git/notifyCommit?url=git@infra2:GROUP/REPO.git in GitLab and it did work for ordinary pushes to the source repository. However, when this web hook gets used on merge requests, the Jenkins job is triggered but it fails, complaining:

Error fetching remote repo '${gitlabSourceRepoName}'

I suppose this is because http://JENKINS-SERVER/git/notifyCommit?url=git@infra2:GROUP/REPO.git triggers Jenkins directly, circumventing the GitLab plugin, which would define variable gitlabSourceRepoName.

Toward the end of the installation instructions, there are words that cast doubt on whether http://JENKINS_URL/project/PROJECT_NAME actually does work.


Here is the stack trace mentioned above:

Hook execution failed: <!DOCTYPE html> Jenkins [Jenkins]var isRunAsTest=false; var rootURL=""; var resURL="/static/2ea7aded";crumb.init("", "");var Q=jQuery.noConflict()Skip to content log in createSearchBox("/search/");Jenkins Jenkins project Bug tracker Mailing Lists Twitter: @jenkinsci Oops!A problem occurred while processing the request. Please check our bug tracker to see if a similar problem has already been reported. If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. If you think this is a new issue, please file a new issue. When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins. The users list might be also useful in understanding what has happened.Stack tracejavax.servlet.ServletException: java.lang.NullPointerException at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796) 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:132) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) 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:171) 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:744) Caused by: java.lang.NullPointerException at org.gitlab.api.GitlabAPI.createCommitStatus(GitlabAPI.java:809) at com.dabsquared.gitlabjenkins.GitLabPushRequest.createCommitStatus(GitLabPushRequest.java:44) at com.dabsquared.gitlabjenkins.GitLabPushTrigger.onPost(GitLabPushTrigger.java:250) at com.dabsquared.gitlabjenkins.GitLabWebHook.generatePushBuild(GitLabWebHook.java:378) at com.dabsquared.gitlabjenkins.GitLabWebHook.generateBuild(GitLabWebHook.java:338) at com.dabsquared.gitlabjenkins.GitLabWebHook.getDynamic(GitLabWebHook.java:146) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 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) ... 62 more Page generated: Apr 13, 2016 5:19:37 PMREST APIJenkins ver. 1.625.3
Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v6.4.2#64017-sha1:e244265)
Atlassian logo

adrien.lecharpentier@gmail.com (JIRA)

unread,
Aug 10, 2016, 4:04:01 AM8/10/16
to jenkinsc...@googlegroups.com
Adrien Lecharpentier commented on Bug JENKINS-34284
 
Re: Web hook http://JENKINS_URL/project/PROJECT_NAME fails

It looks like an issue with SECURITY-170 because the gitlabSourceRepoName is not defined on your job configuration.

This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo

rm1990@gmx.de (JIRA)

unread,
Aug 27, 2016, 10:50:02 AM8/27/16
to jenkinsc...@googlegroups.com

From the stacktrace I'd say you had configured the option to update the GitLab commit status but you hadn't configured a GitLab connection in the global Jenkins settings.

jenkins@johnnado.com (JIRA)

unread,
Sep 12, 2016, 5:30:04 PM9/12/16
to jenkinsc...@googlegroups.com
John McGehee updated an issue
 
Change By: John McGehee
I am trying to set up the Jenkins GitLab plugin.  The [GitLab plugin installation instructions|https://github.com/jenkinsci/gitlab-plugin] say to use the web  hook {{http://JENKINS_URL/project/PROJECT_NAME}}.  Upon testing this hook in GitLab, Jenkins responds with the giant stack trace shown below.

I tried the more standard web hook {{http://JENKINS-SERVER/git/notifyCommit?url=git@
infra2 SERVER :GROUP/REPO.git}} in GitLab and it did work for ordinary pushes to the source repository.  However, when this web hook gets used on merge requests, the Jenkins job is triggered but it fails, complaining:
{code}

Error fetching remote repo '${gitlabSourceRepoName}'
{code}

I suppose this is because {{http://JENKINS-SERVER/git/notifyCommit?url=git@
infra2 SERVER :GROUP/REPO.git}} triggers Jenkins directly, circumventing the GitLab plugin, which would define variable {{gitlabSourceRepoName}}.

[Toward the end of the installation instructions|https://github.com/jenkinsci/gitlab-plugin#help-needed], there are words that cast doubt on whether {{http://JENKINS_URL/project/PROJECT_NAME}} actually does work.

-----

Here is the stack trace mentioned above:

{code}

Hook execution failed: <!DOCTYPE html> Jenkins [Jenkins]var isRunAsTest=false; var rootURL=""; var resURL="/static/2ea7aded";crumb.init("", "");var Q=jQuery.noConflict()Skip to content log in createSearchBox("/search/");Jenkins Jenkins project Bug tracker Mailing Lists Twitter: @jenkinsci Oops!A problem occurred while processing the request. Please check our bug tracker to see if a similar problem has already been reported. If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. If you think this is a new issue, please file a new issue. When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins. The users list might be also useful in understanding what has happened.Stack tracejavax.servlet.ServletException: java.lang.NullPointerException at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796) 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:132) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) 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:171) 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:744) Caused by: java.lang.NullPointerException at org.gitlab.api.GitlabAPI.createCommitStatus(GitlabAPI.java:809) at com.dabsquared.gitlabjenkins.GitLabPushRequest.createCommitStatus(GitLabPushRequest.java:44) at com.dabsquared.gitlabjenkins.GitLabPushTrigger.onPost(GitLabPushTrigger.java:250) at com.dabsquared.gitlabjenkins.GitLabWebHook.generatePushBuild(GitLabWebHook.java:378) at com.dabsquared.gitlabjenkins.GitLabWebHook.generateBuild(GitLabWebHook.java:338) at com.dabsquared.gitlabjenkins.GitLabWebHook.getDynamic(GitLabWebHook.java:146) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 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) ... 62 more Page generated: Apr 13, 2016 5:19:37 PMREST APIJenkins ver. 1.625.3
{code}

jenkins@johnnado.com (JIRA)

unread,
Sep 12, 2016, 7:50:01 PM9/12/16
to jenkinsc...@googlegroups.com
John McGehee closed an issue as Fixed
 

The solution was remarkably simple. I mistakenly used the GitLab project name.

It is the Jenkins project name, including any folders, that should be specified. I added this to the GitLab Plugin documentation and issued pull request #414.

Change By: John McGehee
Status: Open Closed
Resolution: Fixed
Reply all
Reply to author
Forward
0 new messages