bitbucket-branch-source-plugin: Auto webhook creation broken for Bitbucket 6.x and earlier

Note from project maintainer

This issue still exists for Bitbucket v5.x. Fixing that is tracked in #352. This has been fixed for Bitbucket v6.x in v2.9.1 of the plugin. To enable the fix, you must go to your Bitbucket Endpoint Configuration and set the “Server Version” to “Bitbucket 6.x (and earlier)”.
The credentials being used must also have sufficient permissions to create hooks on the the Bitbucket project.

Description

Jenkins version - 2.22.1 Plugin version - 2.8.0 Bitbucket server and version - 5.4.1

When I perform a ‘Scan Organization Folder Now’, I expect webhooks to be registered for my repos but this does not occur and instead I see 400 errors in the logs.

Could not register hooks for sandbox/wordpress-app
com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketRequestException: HTTP request error. Status: 400: .
HttpResponseProxy{HTTP/1.1 400  [X-AREQUESTID: *16U2BIYx857x12710733x0, X-ASEN: SEN-6051868, X-AUSERID: 9658, X-AUSERNAME: username, Cache-Control: no-cache, no-transform, Vary: X-AUSERNAME,Accept-Encoding, Transfer-Encoding: chunked, X-Content-Type-Options: nosniff, Content-Type: application/json;charset=UTF-8, Date: Fri, 10 Jul 2020 18:17:06 GMT, Connection: close] org.apache.http.client.entity.DecompressingEntity@325b29b7}
	at com.cloudbees.jenkins.plugins.bitbucket.server.client.BitbucketServerAPIClient.doRequest(BitbucketServerAPIClient.java:1049)
	at com.cloudbees.jenkins.plugins.bitbucket.server.client.BitbucketServerAPIClient.postRequest(BitbucketServerAPIClient.java:1002)
	at com.cloudbees.jenkins.plugins.bitbucket.server.client.BitbucketServerAPIClient.postRequest(BitbucketServerAPIClient.java:990)
	at com.cloudbees.jenkins.plugins.bitbucket.server.client.BitbucketServerAPIClient.registerCommitWebHook(BitbucketServerAPIClient.java:600)
	at com.cloudbees.jenkins.plugins.bitbucket.hooks.WebhookAutoRegisterListener.registerHook(WebhookAutoRegisterListener.java:177)
	at com.cloudbees.jenkins.plugins.bitbucket.hooks.WebhookAutoRegisterListener.registerHooks(WebhookAutoRegisterListener.java:133)
	at com.cloudbees.jenkins.plugins.bitbucket.hooks.WebhookAutoRegisterListener.access$000(WebhookAutoRegisterListener.java:56)
	at com.cloudbees.jenkins.plugins.bitbucket.hooks.WebhookAutoRegisterListener$1.doRun(WebhookAutoRegisterListener.java:102)
	at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:91)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 51 (26 by maintainers)

Most upvoted comments

@ssc327 thank you for help.

I’ve tried different combinations last week, before plugin update, but not all today. The permissions setting didn’t help last week so I forgot to check this after updating a plugins. Now I’ve done new tests using Bitbucket Branch Source Plugin 2.9.1

BitBucket Permissions WebHook Impl Hook Jenkins log
write native absent exception (response code = 401)
write plugin absent exception (response code = 401)
admin native created “Registering hook for …”
admin plugin created “Registering hook for …”

@marx-freedom does the account that you are using have permission to make webhooks on the BB project?

I just installed v2.9.1, and I get the following error in Jenkins logs :

Could not register hooks for xxxx
com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketRequestException: HTTP request error. Status: 400: .
HttpResponseProxy{HTTP/1.1 400  [X-AREQUESTID: xxxx, X-ASEN: xxxx, X-AUSERID: xxxx, X-AUSERNAME: xxxx, Cache-Control: no-cache, no-transform, Vary: X-AUSERNAME,Accept-Encoding, Transfer-Encoding: chunked, X-Content-Type-Options: nosniff, Content-Type: application/json;charset=UTF-8, Date: Thu, 30 Jul 2020 13:54:07 GMT, Strict-Transport-Security: max-age=15552000; includeSubDomains, Content-Security-Policy: default-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; frame-src https:; img-src 'self' data:, X-Frame-Options: allowall] org.apache.http.client.entity.DecompressingEntity@2313f11e}
	at com.cloudbees.jenkins.plugins.bitbucket.server.client.BitbucketServerAPIClient.doRequest(BitbucketServerAPIClient.java:1069)
	at com.cloudbees.jenkins.plugins.bitbucket.server.client.BitbucketServerAPIClient.postRequest(BitbucketServerAPIClient.java:1022)
	at com.cloudbees.jenkins.plugins.bitbucket.server.client.BitbucketServerAPIClient.postRequest(BitbucketServerAPIClient.java:1010)
	at com.cloudbees.jenkins.plugins.bitbucket.server.client.BitbucketServerAPIClient.registerCommitWebHook(BitbucketServerAPIClient.java:620)
	at com.cloudbees.jenkins.plugins.bitbucket.hooks.WebhookAutoRegisterListener.registerHook(WebhookAutoRegisterListener.java:177)
	at com.cloudbees.jenkins.plugins.bitbucket.hooks.WebhookAutoRegisterListener.registerHooks(WebhookAutoRegisterListener.java:133)
	at com.cloudbees.jenkins.plugins.bitbucket.hooks.WebhookAutoRegisterListener.access$000(WebhookAutoRegisterListener.java:56)
	at com.cloudbees.jenkins.plugins.bitbucket.hooks.WebhookAutoRegisterListener$1.doRun(WebhookAutoRegisterListener.java:102)
	at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:91)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

The Webhook is not registered.

I don’t have access to BitBucket logs.

Sorry, I didn’t configure properly the BitBucket Server Version in Jenkins. It works now.

@bitwiseman go for a release, we can always fix it in the next version 😃 Did not mean to try and block anything.

@markush81 I’m trying to get it done as soon as possible.