GithubHelp home page GithubHelp logo

Comments (28)

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024 2

Hi, I'm going to add the logic for jobs triggered through a push on the Bitbucket Server with the following payload (see https://confluence.atlassian.com/bitbucketserver/event-payload-938025882.html#Eventpayload-Push):

{ "eventKey":"repo:refs_changed", "date":"2017-09-19T09:45:32+1000", "actor":{ "name":"admin", "emailAddress":"[email protected]", "id":1, "displayName":"Administrator", "active":true, "slug":"admin", "type":"NORMAL" }, "repository":{ "slug":"repository", "id":84, "name":"repository", "scmId":"git", "state":"AVAILABLE", "statusMessage":"Available", "forkable":true, "project":{ "key":"PROJ", "id":84, "name":"project", "public":false, "type":"NORMAL" }, "public":false }, "changes":[ { "ref":{ "id":"refs/heads/master", "displayId":"master", "type":"BRANCH" }, "refId":"refs/heads/master", "fromHash":"ecddabb624f6f5ba43816f5926e580a5f680a932", "toHash":"178864a7d521b6f5e720b386b2c2b0ef8563e0dc", "type":"UPDATE" } ] }

from bitbucket-push-and-pull-request-plugin.

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024 1

Hi @impulse200 and @rlees85, I found something interesting, it seems to be that the official documentation is not up to date:

https://jira.atlassian.com/browse/BSERV-10704

from bitbucket-push-and-pull-request-plugin.

rlees85 avatar rlees85 commented on June 15, 2024

Same.

WARNING: Error while serving https://[removed]/bitbucket-hook/
java.lang.reflect.InvocationTargetException
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:400)
	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
	at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:27)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
	at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:458)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:668)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
	at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRCrumbExclusion.process(BitBucketPPRCrumbExclusion.java:47)
	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:73)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	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:90)
	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.Server.handle(Server.java:503)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.UnsupportedOperationException: Unsupported SCM type null
	at io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRJobProbe.triggerMatchingJobs(BitBucketPPRJobProbe.java:63)
	at io.jenkins.plugins.bitbucketpushandpullrequest.processor.BitBucketPPROldPostPayloadProcessor.processPayload(BitBucketPPROldPostPayloadProcessor.java:44)
	at io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRHookReceiver.doIndex(BitBucketPPRHookReceiver.java:101)
	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
	... 78 more

from bitbucket-push-and-pull-request-plugin.

rlees85 avatar rlees85 commented on June 15, 2024

Digging deeper, it seems our Bitbucket server REST API is not supported:

https://github.com/jenkinsci/bitbucket-push-and-pull-request-plugin/blob/master/src/main/java/io/jenkins/plugins/bitbucketpushandpullrequest/BitBucketPPRHookReceiver.java

      if (USER_AGENT.equals(request.getHeader("user-agent"))) {
        LOGGER.log(Level.INFO, "Received new x-event-key service payload");
        bitbucketEvent = new BitBucketPPREvent(request.getHeader("x-event-key"));
        payload = gson.fromJson(inputStream, BitBucketPPRNewPayload.class);
      } else {
        LOGGER.log(Level.INFO, "Received old POST service payload");
        bitbucketEvent = new BitBucketPPREvent("repo:post");
        payload = gson.fromJson(inputStream, BitBucketPPROldPost.class);
}
 public static final String USER_AGENT = "Bitbucket-Webhooks/2.0";

Our BitBucket server is quite a current version (5.7.1) and does NOT set this user-agent header.

I don't think it should be being handled as an 'old POST request' but I am not an expert.

X-Request-Id: 572b2351-0774-4386-a92b-7116e2b4ddd0
Content-Type: application/json; charset=utf-8
X-Event-Key: repo:refs_changed

from bitbucket-push-and-pull-request-plugin.

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024

Hi @osipovaleks ,
which are the "user-agent" and "x-event-key" header properties that you are sending?

from bitbucket-push-and-pull-request-plugin.

rlees85 avatar rlees85 commented on June 15, 2024

I think we are using an old version of the webhooks plugin (1.6.2). I thought the webhooks was a part of Bitbucket (my bad). As its not my server I need to ask permission to upgrade the plugin so hopefully tomorrow we can try again with 1.6.4 (latest)

Apologies for this if thats all whats causing it... hopefully it will be the same for the original poster too...

user-agent is blank/not set (again on the old plugin)

from bitbucket-push-and-pull-request-plugin.

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024

Are you all using the Bitbucket server?

from bitbucket-push-and-pull-request-plugin.

osipovaleks avatar osipovaleks commented on June 15, 2024

Hi @osipovaleks ,
which are the "user-agent" and "x-event-key" header properties that you are sending?

2019-02-14_18-40-34

Are you all using the Bitbucket server?

No, I use Bitbucket Cloud

from bitbucket-push-and-pull-request-plugin.

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024

Ok, just two questions:

  1. did you already triggered the job manually? You have to do it for the first time. Only after that, the automatic triggering over the webhook is active.
  2. did you configured the Bitbucket Repository under the Source Code Management with your credentials, as shown in the plugin page? ( https://plugins.jenkins.io/bitbucket-push-and-pull-request )

from bitbucket-push-and-pull-request-plugin.

osipovaleks avatar osipovaleks commented on June 15, 2024

Ok, just two questions:

1. did you already triggered the job manually? You have to do it for the first time. Only after that, the automatic triggering over the webhook is active.

yes, I started my job manually, everything works well this way, but webhook does not work

2. did you configured the Bitbucket Repository under the Source Code Management with your credentials, as shown in the plugin page? ( https://plugins.jenkins.io/bitbucket-push-and-pull-request )

2019-02-15_11-58-18

i used ssh key in bash for access to bitbucket, so credentials in jenkins is empty

from bitbucket-push-and-pull-request-plugin.

osipovaleks avatar osipovaleks commented on June 15, 2024

I found logs :)

Feb 15, 2019 12:57:41 PM WARNING org.eclipse.jetty.server.handler.ContextHandler$Context log

Error while serving http://****************.ua:14080/job/**********************/test/trendMap
java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart
	at org.jfree.chart.ChartFactory.createStackedAreaChart(ChartFactory.java:1124)
	at hudson.tasks.test.AbstractTestResultAction.createChart(AbstractTestResultAction.java:362)
	at hudson.tasks.test.AbstractTestResultAction.doGraphMap(AbstractTestResultAction.java:312)
	at hudson.tasks.test.TestResultProjectAction.doTrendMap(TestResultProjectAction.java:122)
	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
Caused: java.lang.reflect.InvocationTargetException
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:400)
	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
	at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:537)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
	at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:458)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:282)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:668)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
	at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:64)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	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:142)
	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:90)
	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.Server.handle(Server.java:503)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:748)

I will get access to console at monday, and try fix this error

from bitbucket-push-and-pull-request-plugin.

osipovaleks avatar osipovaleks commented on June 15, 2024

this is mistake. I turn off charts in job, logs is empty, but web hooks does't work

from bitbucket-push-and-pull-request-plugin.

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024

did you configure the Jenkins logger as shown in this screenshot?

screenshot_2019-02-15 jenkins

from bitbucket-push-and-pull-request-plugin.

osipovaleks avatar osipovaleks commented on June 15, 2024

yes, but log is empty:(

thanks, I my started job with "Trigger builds remotely (e.g., from scripts)"

from bitbucket-push-and-pull-request-plugin.

impulse200 avatar impulse200 commented on June 15, 2024

Hi. I have quite the same issue with build job not being triggered. All I got in logs is:

Received commit hook notification : {"eventKey":"repo:refs_changed","date":"2019-02-22T11:19:26+0300","actor":

[... redacted ...]

,"changes":[{"ref":{"id":"refs/heads/jenkins-test","displayId":"jenkins-test","type":"BRANCH"},"refId":"refs/heads/jenkins-test","fromHash":"ecf7056e367ae7dad2e47f54eb29d77d036282d6","toHash":"67a039c746da6d4cd201c82178ac5245ae88cc52","type":"UPDATE"}]}
Feb 22, 2019 11:19:26 AM INFO io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRHookReceiver doIndex
Received old POST service payload

Sorry, had to remove sensitive information from request body.
Edit: I am using BitBucket server 5.16.1
Edit2: I just found that it is accompanied with this errors in main jenkins log

Feb 22, 2019 11:48:14 AM INFO io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRHookReceiver doIndex
Received old POST service payload
Feb 22, 2019 11:48:14 AM WARNING org.eclipse.jetty.server.handler.ContextHandler$Context log
Error while serving http://jenkins.[REDACTED]/bitbucket-hook/
java.lang.UnsupportedOperationException: Unsupported SCM type null
	at io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRJobProbe.triggerMatchingJobs(BitBucketPPRJobProbe.java:63)
	at io.jenkins.plugins.bitbucketpushandpullrequest.processor.BitBucketPPROldPostPayloadProcessor.processPayload(BitBucketPPROldPostPayloadProcessor.java:44)
	at io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRHookReceiver.doIndex(BitBucketPPRHookReceiver.java:101)
	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
Caused: java.lang.reflect.InvocationTargetException
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:400)
	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
	at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:27)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
	at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:458)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:668)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
	at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:243)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at com.cloudbees.jenkins.support.slowrequest.SlowRequestFilter.doFilter(SlowRequestFilter.java:37)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at hudson.plugins.locale.LocaleFilter.doFilter(LocaleFilter.java:42)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
	at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)
	at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:114)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRCrumbExclusion.process(BitBucketPPRCrumbExclusion.java:47)
	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:73)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	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:90)
	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.eclipse.jetty.server.Server.handle(Server.java:503)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:748)

from bitbucket-push-and-pull-request-plugin.

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024

@impulse200 thanks! I'm adding a better support for the bitbucket server, but I need more information to complete and test the implementation. For example, could you tell me which data is set in the payload for the property "repository"? I mean, is it something that could be used as a kind of "unique" identifier?

from bitbucket-push-and-pull-request-plugin.

impulse200 avatar impulse200 commented on June 15, 2024

from bitbucket-push-and-pull-request-plugin.

impulse200 avatar impulse200 commented on June 15, 2024

Hello @cdelmonte-zg
Here is request json that I have in Bitbucket repository webhooks info page:

{
    "eventKey": "repo:refs_changed",
    "date": "2019-02-22T11:07:01+0300",
    "actor": {
        "name": "USERNAME",
        "emailAddress": "email@company",
        "id": 949,
        "displayName": "Readable User Name",
        "active": true,
        "slug": "username",
        "type": "NORMAL",
        "links": {
            "self": [
                {
                    "href": "https://git.company.domain/users/username"
                }
            ]
        }
    },
    "repository": {
        "slug": "telegram",
        "id": 152,
        "name": "telegram",
        "scmId": "git",
        "state": "AVAILABLE",
        "statusMessage": "Available",
        "forkable": true,
        "project": {
            "key": "~USERNAME",
            "id": 242,
            "name": "Readable User Name",
            "type": "PERSONAL",
            "owner": {
                "name": "username",
                "emailAddress": "email@company",
                "id": 949,
                "displayName": "Readable User Name",
                "active": true,
                "slug": "username",
                "type": "NORMAL",
                "links": {
                    "self": [
                        {
                            "href": "https://git.company.domain/users/username"
                        }
                    ]
                }
            },
            "links": {
                "self": [
                    {
                        "href": "https://git.company.domain/users/username"
                    }
                ]
            }
        },
        "public": true,
        "links": {
            "clone": [
                {
                    "href": "ssh://[email protected]:7999/~username/telegram.git",
                    "name": "ssh"
                },
                {
                    "href": "https://git.company.domain/scm/~username/telegram.git",
                    "name": "http"
                }
            ],
            "self": [
                {
                    "href": "https://git.company.domain/users/username/repos/telegram/browse"
                }
            ]
        }
    },
    "changes": [
        {
            "ref": {
                "id": "refs/heads/jenkins-test",
                "displayId": "jenkins-test",
                "type": "BRANCH"
            },
            "refId": "refs/heads/jenkins-test",
            "fromHash": "07cb39c8deef32f0544c9a69152a2448d36b6695",
            "toHash": "17824eef6441648cf10e24beab08bc8fa0e6e7e1",
            "type": "UPDATE"
        }
    ]
}

I have to redact actual values as this is my company's private Bitbucket installation:
'username' - lowercase user name used to login to Bitbucket
'USERNAME' - same, but in upper case
'Readable User Name' and 'email@company' - are values from AD for corresponding USERNAME
'telegram' is repository name which is private for USERNAME. It could be project name I guess.

from bitbucket-push-and-pull-request-plugin.

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024

Hi @impulse200 and @rlees85, I have a question. Reading the official documentation of bitbucket, I cannot find the links property in the repository property
https://confluence.atlassian.com/bitbucketserver0516/event-payload-966061436.html

Might you check it once again?
Thanks :)

"links": {
            "clone": [
                {
                    "href": "ssh://[email protected]:7999/~username/telegram.git",
                    "name": "ssh"
                },
                {
                    "href": "https://git.company.domain/scm/~username/telegram.git",
                    "name": "http"
                }
            ],
            "self": [
                {
                    "href": "https://git.company.domain/users/username/repos/telegram/browse"
                }
            ]
        }

from bitbucket-push-and-pull-request-plugin.

impulse200 avatar impulse200 commented on June 15, 2024

Hi. Not sure how could I help you, @cdelmonte-zg Do you have actual steps I could do?

from bitbucket-push-and-pull-request-plugin.

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024

@impulse200 I would push a develop branch, that you could use to create a local version of the plugin with the new features. Do you know how to create hpi archives?

from bitbucket-push-and-pull-request-plugin.

impulse200 avatar impulse200 commented on June 15, 2024

Do you know how to create hpi archives?

No idea :-)

from bitbucket-push-and-pull-request-plugin.

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024

@impulse200 released, can you reinstall the plugin and test if the push is now working? Thank you :-)

from bitbucket-push-and-pull-request-plugin.

impulse200 avatar impulse200 commented on June 15, 2024

@cdelmonte-zg , sorry, out of office for two weeks.

from bitbucket-push-and-pull-request-plugin.

rlees85 avatar rlees85 commented on June 15, 2024

I'll try and get this tested on ours over the next couple of days. Not surprised about the documentation being stale, not a massive fan of bitbucket ;)

from bitbucket-push-and-pull-request-plugin.

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024

@rlees85 thank you 👍

from bitbucket-push-and-pull-request-plugin.

rlees85 avatar rlees85 commented on June 15, 2024

Now Bitbucket says "200" as Jenkins accepts the request, but our build does not start. Please find below all the debug stuff.

Please note our Bitbucket server is not current (5.7.1)!! (They still haven't updated it yet and this could be not helping in my case).

Request JSON sent out to Jenkins:

{
  "eventKey": "repo:refs_changed",
  "date": "2019-03-07T11:38:15+0000",
  "actor": {
    "name": "richard.lees",
    "emailAddress": "[email protected]",
    "id": 1260,
    "displayName": "Richard Lees",
    "active": true,
    "slug": "richard.lees",
    "type": "NORMAL"
  },
  "repository": {
    "slug": "dkr-jenkins-slave-hybris65",
    "id": 260,
    "name": "dkr-jenkins-slave-hybris65",
    "scmId": "git",
    "state": "AVAILABLE",
    "statusMessage": "Available",
    "forkable": true,
    "project": {
      "key": "PKR",
      "id": 231,
      "name": "Packer",
      "description": "Packer scripts for generating both AMI and Docker images.",
      "public": false,
      "type": "NORMAL"
    },
    "public": false
  },
  "changes": [
    {
      "ref": {
        "id": "refs/tags/test1",
        "displayId": "test1",
        "type": "TAG"
      },
      "refId": "refs/tags/test1",
      "fromHash": "0000000000000000000000000000000000000000",
      "toHash": "76e67f1b12f5232c76eb531099782f5058d2986e",
      "type": "ADD"
    }
  ]
}

Logs from Jenkins:

Mar 07, 2019 11:35:11 AM io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRHookReceiver doIndex
WARNING: The Jenkins job cannot be triggered. You might no have configured correctly the WebHook on BitBucket with the last slash `http://<JENKINS-URL>/bitbucket-hook/`
Mar 07, 2019 11:35:46 AM io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRHookReceiver doIndex
INFO: Received x-event-key payload from bb server
Mar 07, 2019 11:35:46 AM io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRHookReceiver doIndex
WARNING: null
Mar 07, 2019 11:38:15 AM io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRHookReceiver doIndex
INFO: Received x-event-key payload from bb server
Mar 07, 2019 11:38:15 AM io.jenkins.plugins.bitbucketpushandpullrequest.BitBucketPPRHookReceiver doIndex
WARNING: null

Jenkins URL in Bitbucket DOES have the trailing /

screenshot from 2019-03-07 11-45-46

Thanks for your efforts 👍 will be a really useful plugin!

edit: I think I remember seeing your code that the plugin looks for a specific user agent for Bitbucket server (or was it Cloud I can't remember). I know our version of the plugin is before the commit that adds a user-agent to the webhook.

from bitbucket-push-and-pull-request-plugin.

cdelmonte-zg avatar cdelmonte-zg commented on June 15, 2024

Hi @rlees85 , thank you :)
I changed in the last release the decision block based on the user agent. Now I'm checking directly the kind of event triggered.

As you also said, the problem you are now encountering is due to the version of your bitbucket server: the link clone properties about the repository are only present in the payload sent starting from the version 5.14
:(

from bitbucket-push-and-pull-request-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.