Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-48035

Github multibranch: GitHub Webhook is not created right after saving the job

    • Pipeline - December

      I am observing the following behavior:

      1.- Fresh installation, installing latest version of Pipeline, GitHub plugin and GitHub Branch Source Plugin

      2.- Manage Jenkins > Configuring GitHub plugin: Credentials of an Owner of a Organization which hosts a Repo X

      3.- New Pipeline Multibranch Item pointing to Repo X, after saving the job the webhook in GitHub is not automatically generated (vs. GitHub Organization Folder item which is done)

      4.- Manage Jenkins > GitHub plugin > Advanced > Re-register hooks for all jobs > webhook in GitHub is finally generated
       
      What I am reporting: I'd expect the webhook in GitHub is automatically generated right after the saving the Pipeline Multibranch Branch but it does not it until I click on Re-register hooks for all jobs (GitHub plugin)

          [JENKINS-48035] Github multibranch: GitHub Webhook is not created right after saving the job

          Code changed in jenkins
          User: rsandell
          Path:
          src/main/java/org/jenkinsci/plugins/github_branch_source/GitHubSCMSourceRepositoryNameContributor.java
          http://jenkins-ci.org/commit/github-branch-source-plugin/99d72b0ae93952b5fb941d6f71f63d45abf7cab2
          Log:
          JENKINS-48035 javadoc

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: rsandell Path: src/main/java/org/jenkinsci/plugins/github_branch_source/GitHubSCMSourceRepositoryNameContributor.java http://jenkins-ci.org/commit/github-branch-source-plugin/99d72b0ae93952b5fb941d6f71f63d45abf7cab2 Log: JENKINS-48035 javadoc

          Code changed in jenkins
          User: Stephen Connolly
          Path:
          pom.xml
          src/main/java/org/jenkinsci/plugins/github_branch_source/GitHubSCMSourceRepositoryNameContributor.java
          src/test/java/org/jenkinsci/plugins/github_branch_source/GitHubSCMSourceTest.java
          http://jenkins-ci.org/commit/github-branch-source-plugin/3bf8714bffc7467d81099542e3e421203a4695a0
          Log:
          Merge pull request #170 from rsandell/JENKINS-48035

          JENKINS-48035 Add a GitHubRepositoryNameContributor that recognises…

          Compare: https://github.com/jenkinsci/github-branch-source-plugin/compare/267e41c59581...3bf8714bffc7

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: pom.xml src/main/java/org/jenkinsci/plugins/github_branch_source/GitHubSCMSourceRepositoryNameContributor.java src/test/java/org/jenkinsci/plugins/github_branch_source/GitHubSCMSourceTest.java http://jenkins-ci.org/commit/github-branch-source-plugin/3bf8714bffc7467d81099542e3e421203a4695a0 Log: Merge pull request #170 from rsandell/ JENKINS-48035 JENKINS-48035 Add a GitHubRepositoryNameContributor that recognises… Compare: https://github.com/jenkinsci/github-branch-source-plugin/compare/267e41c59581...3bf8714bffc7

          claimed resolved in 2.3.2

          Stephen Connolly added a comment - claimed resolved in 2.3.2

          Michael Neale added a comment -

          Just reopening to make sure we do org folders as well 

          Michael Neale added a comment - Just reopening to make sure we do org folders as well 

          Michael Neale added a comment -

          stephenconnolly can this then be closed? 

          Michael Neale added a comment - stephenconnolly can this then be closed? 

          Carlos Rodríguez López added a comment - - edited

          rsandell stephenconnolly I am reopening this ticket again because the same reported issue seems to be back running (Regression?)

          Environment

          Jenkins LTS 2.164.2
           * github:1.29.4 'GitHub plugin'
           * github-api:1.95 'GitHub API Plugin'
           * github-branch-source:2.5.0 *(update available)* 'GitHub Branch Source Plugin'
          

          Observations

          What we see on Jenkins logs
          May 16, 2019 3:12:38 PM org.jenkinsci.plugins.github.webhook.WebhookManager$2 applyNullSafe
          WARNING: Failed to add GitHub webhook for GitHubRepositoryName[host=github.com,username=mock-carlosrodlop-org,repository=my-hw-maven-app]
          java.lang.NullPointerException: There are no credentials with admin access to manage hooks on GitHubRepositoryName[host=github.com,username=mock-carlosrodlop-org,repository=my-hw-maven-app]
          

          But it is not right... I am using this repo https://github.com/mock-carlosrodlop-org/my-hw-maven-app with user:carlosrodlop and pass:APIToken and as you can tell from the following images carlosrodlop is an admin

          Custom dedicated loggers as explained in this guide: GitHub-Webhook-Troubleshooting are not providing any useful hint just
          May 16, 2019 4:05:50 PM FINE com.cloudbees.jenkins.GitHubWebHook$1 apply
          Calling registerHooks() for multibranch-example-job
          May 16, 2019 4:05:51 PM FINE com.cloudbees.jenkins.GitHubWebHook$1 apply
          Calling registerHooks() for multibranch-example-job
          
          Manage Jenkins > GitHub plugin > Advanced > Re-register hooks for all jobs > webhook in GitHub is NOT generated either. Independently if I enabled or disable Manage hooks options the output is the same: Works only when Jenkins manages hooks (one or more creds specified)

          Carlos Rodríguez López added a comment - - edited rsandell stephenconnolly I am reopening this ticket again because the same reported issue seems to be back running (Regression?) Environment Jenkins LTS 2.164.2 * github:1.29.4 'GitHub plugin' * github-api:1.95 'GitHub API Plugin' * github-branch-source:2.5.0 *(update available)* 'GitHub Branch Source Plugin' Observations What we see on Jenkins logs May 16, 2019 3:12:38 PM org.jenkinsci.plugins.github.webhook.WebhookManager$2 applyNullSafe WARNING: Failed to add GitHub webhook for GitHubRepositoryName[host=github.com,username=mock-carlosrodlop-org,repository=my-hw-maven-app] java.lang.NullPointerException: There are no credentials with admin access to manage hooks on GitHubRepositoryName[host=github.com,username=mock-carlosrodlop-org,repository=my-hw-maven-app] But it is not right... I am using this repo https://github.com/mock-carlosrodlop-org/my-hw-maven-app with user:carlosrodlop and pass:APIToken and as you can tell from the following images carlosrodlop is an admin Custom dedicated loggers as explained in this guide: GitHub-Webhook-Troubleshooting are not providing any useful hint just May 16, 2019 4:05:50 PM FINE com.cloudbees.jenkins.GitHubWebHook$1 apply Calling registerHooks() for multibranch-example-job May 16, 2019 4:05:51 PM FINE com.cloudbees.jenkins.GitHubWebHook$1 apply Calling registerHooks() for multibranch-example-job Manage Jenkins > GitHub plugin > Advanced > Re-register hooks for all jobs > webhook in GitHub is NOT generated either. Independently if I enabled or disable Manage hooks options the output is the same: Works only when Jenkins manages hooks (one or more creds specified)

          It is working fine after deep testing

          Carlos Rodríguez López added a comment - It is working fine after deep testing

          David Lakatos added a comment - - edited

          carlosrodlop I experienced the same issue you did. What do you mean "It is working fine after deep testing"? How did your problem disappear?

          While my OAuth token used by Jenkins has the admin:repo_hook permission on Github, Jenkins throws this exception for all of my managed repositories:

          Jul 06, 2019 10:34:16 AM WARNING org.jenkinsci.plugins.github.webhook.WebhookManager$2 applyNullSafe
          Failed to add GitHub webhook for GitHubRepositoryName[host=github.com,username=*****,repository=*****]
          java.lang.NullPointerException: There are no credentials with admin access to manage hooks on GitHubRepositoryName[host=github.com,username=*****,repository=*****]
          at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:231)
          at org.jenkinsci.plugins.github.webhook.WebhookManager$2.applyNullSafe(WebhookManager.java:179)
          at org.jenkinsci.plugins.github.webhook.WebhookManager$2.applyNullSafe(WebhookManager.java:175)
          at org.jenkinsci.plugins.github.util.misc.NullSafeFunction.apply(NullSafeFunction.java:18)
          at com.google.common.collect.Iterators$8.next(Iterators.java:812)
          at com.google.common.collect.Iterators$7.computeNext(Iterators.java:648)
          at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
          at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
          at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
          at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
          at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
          at com.google.common.collect.Lists.newArrayList(Lists.java:138)
          at com.google.common.collect.Lists.newArrayList(Lists.java:119)
          at org.jenkinsci.plugins.github.util.FluentIterableWrapper.toList(FluentIterableWrapper.java:147)
          at org.jenkinsci.plugins.github.webhook.WebhookManager$1.run(WebhookManager.java:127)
          at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:119)
          at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
          at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
          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)

          David Lakatos added a comment - - edited carlosrodlop I experienced the same issue you did. What do you mean "It is working fine after deep testing"? How did your problem disappear? While my OAuth token used by Jenkins has the admin:repo_hook permission on Github, Jenkins throws this exception for all of my managed repositories: Jul 06, 2019 10:34:16 AM WARNING org.jenkinsci.plugins.github.webhook.WebhookManager$2 applyNullSafe Failed to add GitHub webhook for GitHubRepositoryName [host=github.com,username=*****,repository=*****] java.lang.NullPointerException: There are no credentials with admin access to manage hooks on GitHubRepositoryName [host=github.com,username=*****,repository=*****] at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:231) at org.jenkinsci.plugins.github.webhook.WebhookManager$2.applyNullSafe(WebhookManager.java:179) at org.jenkinsci.plugins.github.webhook.WebhookManager$2.applyNullSafe(WebhookManager.java:175) at org.jenkinsci.plugins.github.util.misc.NullSafeFunction.apply(NullSafeFunction.java:18) at com.google.common.collect.Iterators$8.next(Iterators.java:812) at com.google.common.collect.Iterators$7.computeNext(Iterators.java:648) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at com.google.common.collect.Lists.newArrayList(Lists.java:138) at com.google.common.collect.Lists.newArrayList(Lists.java:119) at org.jenkinsci.plugins.github.util.FluentIterableWrapper.toList(FluentIterableWrapper.java:147) at org.jenkinsci.plugins.github.webhook.WebhookManager$1.run(WebhookManager.java:127) at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:119) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59) 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)

          David Lakatos added a comment -

          FYI I fixed my issue by regenerating my OAuth access token. It may have been misconfigured in my Jenkins' credentials...

          David Lakatos added a comment - FYI I fixed my issue by regenerating my OAuth access token. It may have been misconfigured in my Jenkins' credentials...

          Hi dlakatos847,

          I forgot to configure correctly the Git Plugin see https://support.cloudbees.com/hc/en-us/articles/224543927-GitHub-Integration-Webhooks

          Regards,

          Carlos Rodríguez López added a comment - Hi dlakatos847 , I forgot to configure correctly the Git Plugin see https://support.cloudbees.com/hc/en-us/articles/224543927-GitHub-Integration-Webhooks Regards,

            rsandell rsandell
            carlosrodlop Carlos Rodríguez López
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: