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

Google container registry auth plugin breaks Jenkins Configure System apply

      I'm opening this as a continuation of https://issues.jenkins.io/browse/JENKINS-64341 as suggested. This is to add a few more details to Ryan's comment based on Mark's response.

      We're seeing an issue with Jenkins 2.280-jdk11 where when clicking on the "Save" button in Configure System (even there are no changes made), it breaks and shows the error screen:

      Error screen

       Logs

      2021-02-26 22:08:17.336+0000 [id=2063] WARNING h.i.i.InstallUncaughtExceptionHandler#handleException: Caught unhandled exception with ID 45950dec-8624-44ad-8878-aa2fd8e2858f2021-02-26 22:08:17.336+0000 [id=2063] WARNING h.i.i.InstallUncaughtExceptionHandler#handleException: Caught unhandled exception with ID 45950dec-8624-44ad-8878-aa2fd8e2858fnet.sf.json.JSONException: JSONObject["rememberPasswordEnabled"] not found. at net.sf.json.JSONObject.getString(JSONObject.java:2040) at com.sonyericsson.rebuild.RebuildDescriptor.configure(RebuildDescriptor.java:28) at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:3859) at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:3823) at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710) at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36) at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48) at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:536) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694) at org.kohsuke.stapler.Stapler.service(Stapler.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:111) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:60) 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 com.smartcodeltd.jenkinsci.plugin.assetbundler.filters.LessCSS.doFilter(LessCSS.java:47) 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 hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:64) 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 hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:153) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:92) at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101) at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:92) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:62) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:109) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:168) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:51) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) at java.base/java.lang.Thread.run(Thread.java:834)
      

      List of plugins

      Jenkins: 2.280
      OS: Linux - 5.4.49+
      ---
      pipeline-input-step:2.12
      multiple-scms:0.6
      pipeline-stage-view:2.19
      analysis-model-api:9.8.0
      role-strategy:3.1
      graphiteIntegrator:1.2
      blueocean-i18n:1.24.4
      workflow-basic-steps:2.23
      external-monitor-job:1.7
      pipeline-rest-api:2.19
      blueocean-pipeline-api-impl:1.24.4
      naginator:1.18.1
      job-parameter-summary:0.5
      mercurial:2.12
      cucumber-reports:5.5.0
      basic-branch-build-strategies:1.3.2
      build-environment:1.7
      pam-auth:1.6
      stashNotifier:1.20
      checks-api:1.5.0
      configurationslicing:1.51
      job-dsl:1.77
      envinject:2.4.0
      build-failure-analyzer:2.0.0
      blueocean-git-pipeline:1.24.4
      uno-choice:2.5.2
      workflow-cps:2.89
      build-history-metrics-plugin:1.2
      octopusdeploy:3.1.2
      pipeline-npm:0.9.2
      kubernetes-credentials:0.8.0
      jobcopy-builder:1.4.2
      blueocean-rest-impl:1.24.4
      dashboard-view:2.14
      build-monitor-plugin:1.12+build.201809061734
      badge:1.8
      plugin-usage-plugin:1.2
      config-file-provider:3.7.0
      nodejs:1.3.11
      build-user-vars-plugin:1.7
      blueocean-jwt:1.24.4
      cloudbees-bitbucket-branch-source:2.9.7
      websocket:1.0.6
      hipchat:2.2.1
      favorite:2.3.3
      script-security:1.76
      metrics:4.0.2.7
      jqs-monitoring:1.4
      hudson-wsclean-plugin:1.0.8
      purge-job-history:1.6
      trilead-api:1.0.13
      font-awesome-api:5.15.2-1
      google-container-registry-auth:0.3
      ssh-credentials:1.18.1
      postbuildscript:2.11.0
      extensible-choice-parameter:1.7.0
      stash-pullrequest-builder:1.17
      matrix-project:1.18
      pipeline-model-definition:1.8.4
      conditional-buildstep:1.4.1
      github-api:1.122
      dependency-check-jenkins-plugin:5.1.1
      cobertura:1.16
      copyartifact:1.46
      bootstrap4-api:4.6.0-1
      disk-usage:0.28
      dependency-track:3.1.0
      cloudbees-folder:6.15
      simple-theme-plugin:0.6
      htmlpublisher:1.25
      systemloadaverage-monitor:1.2
      kubernetes-client-api:4.13.2-1
      purge-build-queue-plugin:1.0
      workflow-step-api:2.23
      delivery-pipeline-plugin:1.4.2
      pipeline-build-step:2.13
      groovy-postbuild:2.5
      workflow-durable-task-step:2.37
      sonar:2.13
      pipeline-model-api:1.8.4
      workflow-job:2.40
      plugin-util-api:1.7.1
      nexus-artifact-uploader:2.13
      handlebars:1.1.1
      blueocean-dashboard:1.24.4
      fortify-on-demand-uploader:6.1.0
      flexible-publish:0.16.1
      jjwt-api:0.11.2-9.c8b45b8bb173
      blueocean-autofavorite:1.2.4
      kubernetes:1.24.1-efx
      accelerated-build-now-plugin:1.0.1
      workflow-support:3.7
      ssh-agent:1.21
      managed-scripts:1.5.4
      jquery:1.12.4-1
      git-tag-message:1.7.1
      remote-terminal-access:1.6
      mapdb-api:1.0.9.0
      credentials-binding:1.24
      git:4.6.0
      git-parameter:0.9.13
      warnings-ng:8.9.1
      jobgenerator:1.22
      pipeline-stage-tags-metadata:1.8.4
      pipeline-multibranch-defaults:2.1
      slave-status:1.6
      ssh-slaves:1.31.5
      forensics-api:0.10.1
      project-build-times:1.2.1
      blueocean-events:1.24.4
      gradle:1.36
      workflow-cps-global-lib:2.18
      jdk-tool:1.5
      jaxb:2.3.0.1
      bouncycastle-api:2.18
      pipeline-utility-steps:2.6.1
      blueocean-pipeline-editor:1.24.4
      lockable-resources:2.10
      git-server:1.9
      greenballs:1.15.1
      google-oauth-plugin:1.0.3
      subversion:2.14.0
      schedule-build:0.5.1
      all-changes:1.5
      ldap:2.4
      nuget:1.0
      parameterized-trigger:2.40
      git-client:3.6.0
      groovy:2.3
      jacoco:3.1.1
      display-url-api:2.3.4
      jenkins-design-language:1.24.4
      sse-gateway:1.24
      blueocean-jira:1.24.4
      blueocean-web:1.24.4
      blueocean-bitbucket-pipeline:1.24.4
      blueocean-core-js:1.24.4
      workflow-multibranch:2.22
      github:1.33.1
      oauth-credentials:0.4
      docker-build-step:2.6
      bulk-builder:1.5
      plain-credentials:1.7
      handy-uri-templates-2-api:2.1.8-1.0
      bitbucket:1.1.27
      aws-java-sdk:1.11.955
      docker-commons:1.17
      blueocean:1.24.4
      jackson2-api:2.12.1
      blueocean-personalization:1.24.4
      jobConfigHistory:2.26
      run-condition:1.5
      http_request:1.8.27
      structs:1.22
      cloudbees-disk-usage-simple:0.10
      javadoc:1.6
      credentials:2.3.15
      workflow-api:2.41
      variant:1.4
      blueocean-rest:1.24.4
      secondary-timestamper-plugin:1.1
      aws-credentials:1.28
      StashBranchParameter:0.3.0
      durable-task:1.35
      built-on-column:1.1
      nodelabelparameter:1.7.2
      cvs:2.17
      jsch:0.1.55.2
      next-build-number:1.6
      timestamper:1.11.8
      global-build-stats:1.5
      scm-api:2.6.4
      junit:1.48
      pubsub-light:1.13
      momentjs:1.1.1
      slave-setup:1.10
      windows-slaves:1.7
      extended-read-permission:3.2
      blueocean-github-pipeline:1.24.4
      ansicolor:0.7.5
      active-directory:2.23
      gcr-scanner:1.0
      translation:1.16
      metrics-datadog:1.0
      resource-disposer:0.14
      rebuild:1.31
      backup:1.6.1
      jquery3-api:3.5.1-2
      workflow-scm-step:2.12
      pipeline-milestone-step:1.3.2
      publish-over-ssh:1.22
      mailer:1.32.1
      Parameterized-Remote-Trigger:3.1.5.1
      ant:1.11
      jquery-detached:1.2.1
      google-chat-notification:1.4
      echarts-api:4.9.0-3
      validating-string-parameter:2.8
      envinject-api:1.7
      code-coverage-api:1.3.1
      git-chooser-alternative:1.1
      jira:3.2
      matrix-auth:2.6.5
      popper-api:1.16.1-1
      embeddable-build-status:2.0.3
      maven-plugin:3.9
      blueocean-pipeline-scm-api:1.24.4
      antisamy-markup-formatter:2.1
      jsoup:1.10.3
      pipeline-model-extensions:1.8.4
      pipeline-aggregator-view:1.11
      saml:1.1.7
      audit-trail:3.8
      authentication-tokens:1.4
      blueocean-config:1.24.4
      statusmonitor:1.3
      blueocean-display-url:2.4.1
      build-timeout:1.20
      authorize-project:1.3.0
      blueocean-commons:1.24.4
      branch-api:2.6.3
      view-job-filters:2.3
      any-buildstep:0.1
      pipeline-stage-step:2.5
      pipeline-graph-analysis:1.10
      ace-editor:1.1
      apache-httpcomponents-client-4-api:4.5.13-1.0
      okhttp-api:3.14.9
      thinBackup:1.10
      monitoring:1.86.0
      confluence-publisher:2.0.6
      workflow-aggregator:2.6
      powershell:1.4
      job-import-plugin:3.4
      extended-choice-parameter:0.82
      publish-over:0.22
      hashicorp-vault-plugin:3.7.0
      data-tables-api:1.10.23-2
      prometheus:2.0.8
      rundeck:3.6.9
      file-operations:1.11
      jenkins-multijob-plugin:1.36
      docker-workflow:1.25
      nexus-jenkins-plugin:3.8.20191024-124504.15c0353
      bitbucket-build-status-notifier:1.4.2
      CustomHistory:1.6
      ws-cleanup:0.38
      command-launcher:1.5
      github-branch-source:2.10.1
      token-macro:2.15
      email-ext:2.81
      configuration-as-code:1.47
      implied-labels:0.7
      snakeyaml-api:1.27.0
      shiningpanda:0.24
      heavy-job:1.1
      

      How to reproduce

      • Click Manage Jenkins
      • Click Configure System
      • Click Save button (don't need to make a change)
      • Error screen shows up

      Research Tests Performed

      • JDK Versioning: Jenkins was tested using on v2.280 using both jdk8 and jdk11. The error persisted through both versions of JDK.
      • Plugins:
        • The plugin list from the last working deployment was used in all Jenkins version testing. The error still appeared, regardless of the list of plugins used.
        • The error in the logs was related to a plugin. The solution given by https://issues.jenkins.io/browse/JENKINS-64341 to disable the related plugin was applied. On the next attempt, the same error with a new plugin reference was given. We were not able to reach a final iteration to fully get rid of the error during the minimal testing of this component.
      • Jenkins Version: 
        • The following Jenkins versions were tested: v2.281-jdk11, v2.280-jdk11, v2.280-jdk8, v2.277-jdk11, v2.274-jdk11, v2.267-jdk11, v2.266-jdk11, v2.264-jdk11, v2.263.4-lts-jdk11, v2.262-jdk11
        • Of these versions, the only two versions that did not contain the error were v2.263.4-lts-jdk11 and v2.262-jdk11
        • This led me to believe that the error originated in a code change between v2.263 and v2.264.
        • Note the "Rollbacks" for v2.264 compared to v2.263 in the Jenkins Changelog statistics: https://www.jenkins.io/changelog/

          [JENKINS-64976] Google container registry auth plugin breaks Jenkins Configure System apply

          Mark Waite added a comment - - edited

          Jenkins 2.264 and later include the changes described in "Major changes in weekly releases". Based on your list of plugin versions and some assumptions, the Google Container Registry Auth plugin is causing the failure when trying to save the global configuration. That plugin was last released 5 years ago. It has not been updated to support the changes that have already arrived in Jenkins weekly 2.264 and later and will be arriving in Jenkins LTS 2.277.1 on March 10, 2021.

          Your choices include:

          • Stop using the Google Container Registry Auth plugin. If you don't need it, removing it from your installation will resolve the issue and reduce your overhead managing plugins
          • Propose a fix for Google Container Registry Auth plugin that you install on your local system and submit as a pull request to the GitHub repository
          • Delay upgrade from 2.263.4 to 2.277.1 (or later) in hopes that someone else will fix the Google Container Registry Auth plugin

          Since you're running a custom version of the Kubernetes plugin, I assume you are able to find someone to build and use plugins with custom changes for your environment.

          There were other changes that I made while working with your list of plugins. I assumed that it was safe to upgrade all of them to the most recent available version for Jenkins 2.277 or later. I assumed that kubernetes plugin 1.29.1 was sufficient to replace the custom version you're running based on 1.24.1.

          The Dockerfile I used to build my image for testing was:

          FROM jenkins/jenkins:2.277-jdk11
          COPY plugins.txt /tmp/plugins.txt
          RUN jenkins-plugin-cli --plugin-file /tmp/plugins.txt
          

          The plugins.txt file that I used is uploaded as a separate file named 'plugins.txt'

          plugins.txt

          I updated to the latest plugins as of Feb 27, 2021 and that is available as plugins-latest.txt

          If you decide that you'd like to submit a fix for the Google Container Registry Auth plugin, the tables to divs migration guide provides good instructions for the change.

          Mark Waite added a comment - - edited Jenkins 2.264 and later include the changes described in "Major changes in weekly releases" . Based on your list of plugin versions and some assumptions, the Google Container Registry Auth plugin is causing the failure when trying to save the global configuration. That plugin was last released 5 years ago. It has not been updated to support the changes that have already arrived in Jenkins weekly 2.264 and later and will be arriving in Jenkins LTS 2.277.1 on March 10, 2021. Your choices include: Stop using the Google Container Registry Auth plugin. If you don't need it, removing it from your installation will resolve the issue and reduce your overhead managing plugins Propose a fix for Google Container Registry Auth plugin that you install on your local system and submit as a pull request to the GitHub repository Delay upgrade from 2.263.4 to 2.277.1 (or later) in hopes that someone else will fix the Google Container Registry Auth plugin Since you're running a custom version of the Kubernetes plugin, I assume you are able to find someone to build and use plugins with custom changes for your environment. There were other changes that I made while working with your list of plugins. I assumed that it was safe to upgrade all of them to the most recent available version for Jenkins 2.277 or later. I assumed that kubernetes plugin 1.29.1 was sufficient to replace the custom version you're running based on 1.24.1. The Dockerfile I used to build my image for testing was: FROM jenkins/jenkins:2.277-jdk11 COPY plugins.txt /tmp/plugins.txt RUN jenkins-plugin-cli --plugin-file /tmp/plugins.txt The plugins.txt file that I used is uploaded as a separate file named 'plugins.txt' plugins.txt I updated to the latest plugins as of Feb 27, 2021 and that is available as plugins-latest.txt If you decide that you'd like to submit a fix for the Google Container Registry Auth plugin, the tables to divs migration guide provides good instructions for the change.

          Ryan added a comment -

          markewaite We have removed the plugin mentioned in your comment and this seems to have fixed the issue. Thank you so much for your help with this!

          Just so we're aware and so that we can debug certain aspects of our Jenkins better, how were you able to identify that this was the plugin in question? We did not see anything related to this plugin in the logs.

          Thanks again for your help!

          Ryan added a comment - markewaite  We have removed the plugin mentioned in your comment and this seems to have fixed the issue. Thank you so much for your help with this! Just so we're aware and so that we can debug certain aspects of our Jenkins better, how were you able to identify that this was the plugin in question? We did not see anything related to this plugin in the logs. Thanks again for your help!

          Mark Waite added a comment -

          rxe70 the stack trace from the message mentioned a class from that plugin.

          Mark Waite added a comment - rxe70 the stack trace from the message mentioned a class from that plugin.

          Tom added a comment -

          wzheng2310 are you still actively maintaining this plugin? Or are you planning to mark it for adoption?

          Tom added a comment - wzheng2310 are you still actively maintaining this plugin? Or are you planning to mark it for adoption ?

          Mark Waite added a comment - - edited

          wwuck since there were only two releases of the plugin (0.1 and 0.2), both in 2015, I'm reasonably confident that the plugin is not maintained. Installation statistics show very few installations and a very wide distribution of Jenkins controller versions that are running the plugin.

          Mark Waite added a comment - - edited wwuck since there were only two releases of the plugin (0.1 and 0.2), both in 2015, I'm reasonably confident that the plugin is not maintained. Installation statistics show very few installations and a very wide distribution of Jenkins controller versions that are running the plugin.

          Tom added a comment -

          Thanks markewaite. For anyone using Artifact Registry, you can use the following alternative to this plugin:

          https://cloud.google.com/artifact-registry/docs/docker/authentication#json-key

          Create a UsernamePassword credential in Jenkins with the username set to

          _json_key_base64

          and the password set to the base64-encoded contents of a service account json key file.

          The base64 encoding should have all newlines removed, which can be done with:

          base64 -w0 json-key-file.json
          

          People still using Container Registry will have to go with

          username = _json_key
          password = {contents of json_key.json}
          

          as GCR doesn't appear to support base64 encoding of the key.
          https://cloud.google.com/container-registry/docs/advanced-authentication#json-key

          You can then just use

          docker.withRegistry('https://{location}-docker.pkg.dev', 'usernamePasswordCredentialsId')

          Tom added a comment - Thanks markewaite . For anyone using Artifact Registry, you can use the following alternative to this plugin: https://cloud.google.com/artifact-registry/docs/docker/authentication#json-key Create a UsernamePassword credential in Jenkins with the username set to _json_key_base64 and the password set to the base64-encoded contents of a service account json key file. The base64 encoding should have all newlines removed, which can be done with: base64 -w0 json-key-file.json People still using Container Registry will have to go with username = _json_key password = {contents of json_key.json} as GCR doesn't appear to support base64 encoding of the key. https://cloud.google.com/container-registry/docs/advanced-authentication#json-key You can then just use docker.withRegistry( 'https: //{location}-docker.pkg.dev' , 'usernamePasswordCredentialsId' )

          I have the same issue, here is my info:

           

          Jenkins: 2.277.3
          OS: Linux - 5.4.89+
          ---
          mailer:1.34
          snakeyaml-api:1.27.0
          pipeline-model-extensions:1.8.4
          scm-api:2.6.4
          plugin-util-api:2.1.0
          display-url-api:2.3.4
          docker-build-step:2.7
          google-metadata-plugin:0.3.1
          jsch:0.1.55.2
          pipeline-input-step:2.12
          cloudbees-folder:6.15
          workflow-durable-task-step:2.38
          matrix-project:1.18
          google-container-registry-auth:0.3
          jquery-detached:1.2.1
          kubernetes-client-api:4.13.3-1
          handlebars:3.0.8
          checks-api:1.7.0
          envinject-api:1.7
          variant:1.4
          plain-credentials:1.7
          docker-commons:1.17
          workflow-cps:2.90
          git:4.7.1
          credentials-binding:1.24
          kubernetes:1.29.4
          font-awesome-api:5.15.2-2
          echarts-api:5.1.0-2
          gcloud-sdk:0.0.3
          ssh-slaves:1.31.5
          jquery:1.12.4-1
          junit:1.49
          pipeline-stage-view:2.19
          config-file-provider:3.8.0
          popper-api:1.16.1-2
          trilead-api:1.0.13
          jackson2-api:2.12.3
          matrix-auth:2.6.6
          pipeline-model-api:1.8.4
          gitlab-plugin:1.5.20
          apache-httpcomponents-client-4-api:4.5.13-1.0
          script-security:1.76
          windows-slaves:1.7
          workflow-api:2.42
          durable-task:1.35
          pipeline-stage-tags-metadata:1.8.4
          token-macro:2.15
          workflow-support:3.8
          jdk-tool:1.5
          external-monitor-job:1.7
          jquery3-api:3.6.0-1
          momentjs:1.1.1
          ldap:2.6
          command-launcher:1.5
          pipeline-build-step:2.13
          ssh-credentials:1.18.1
          lockable-resources:2.10
          branch-api:2.6.3
          workflow-job:2.40
          jobConfigHistory:2.27
          pam-auth:1.6
          pipeline-rest-api:2.19
          google-oauth-plugin:1.0.5
          pipeline-graph-analysis:1.10
          workflow-cps-global-lib:2.18
          authentication-tokens:1.4
          envinject:2.4.0
          workflow-multibranch:2.23
          bouncycastle-api:2.20
          workflow-aggregator:2.6
          ace-editor:1.1
          structs:1.22
          google-kubernetes-engine:0.8.6
          kubernetes-credentials:0.8.0
          credentials:2.3.18
          antisamy-markup-formatter:2.1
          google-storage-plugin:1.5.4
          pipeline-milestone-step:1.3.2
          workflow-step-api:2.23
          google-source-plugin:0.4
          bootstrap4-api:4.6.0-3
          extensible-choice-parameter:1.7.0
          skip-certificate-check:1.0
          msbuild:1.30
          workflow-basic-steps:2.23
          pipeline-stage-step:2.5
          javadoc:1.6
          git-server:1.9
          mstest:1.0.0
          powershell:1.4
          docker-java-api:3.1.5.2
          workflow-scm-step:2.12
          git-client:3.7.1
          ant:1.11
          pipeline-model-definition:1.8.4
          oauth-credentials:0.4
          metrics:4.0.2.7

          I'm not sure when this issue occured, but I think after installing the Git Parameter plugin, but:

           

          I have :
          Apr 27, 2021 8:58:34 AM WARNING hudson.init.impl.InstallUncaughtExceptionHandler handleException
          Caught unhandled exception with ID b570eae6-540e-4d6b-91e9-8199058a00a5 net.sf.json.JSONException: JSONObject["showNeedToCloneInformation"] is not a Boolean. at net.sf.json.JSONObject.getBoolean(JSONObject.java:1929) at net.uaznia.lukanus.hudson.plugins.gitparameter.GitParameterDefinition$DescriptorImpl.configure(GitParameterDefinition.java:654) at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:3859) at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:3823)

          so it seems the git parameter plugin is the cause but after disabling that:

          net.sf.json.JSONException: JSONObject["dockerUrl"] not found. at net.sf.json.JSONObject.getString(JSONObject.java:2040)

          So I have to figure out now what the actual cause is.
          This seems like a jenkins bug? It should check if a plugin works properly, for example by doing a save action?
          Pretty inconvenient the whole server cannot be configured. Ho do I know the original cause and what is the best spot to file a bug ?

          Vincent Gerris added a comment - I have the same issue, here is my info:   Jenkins: 2.277.3 OS: Linux - 5.4.89+ --- mailer:1.34 snakeyaml-api:1.27.0 pipeline-model-extensions:1.8.4 scm-api:2.6.4 plugin-util-api:2.1.0 display-url-api:2.3.4 docker-build-step:2.7 google-metadata-plugin:0.3.1 jsch:0.1.55.2 pipeline-input-step:2.12 cloudbees-folder:6.15 workflow-durable-task-step:2.38 matrix-project:1.18 google-container-registry-auth:0.3 jquery-detached:1.2.1 kubernetes-client-api:4.13.3-1 handlebars:3.0.8 checks-api:1.7.0 envinject-api:1.7 variant:1.4 plain-credentials:1.7 docker-commons:1.17 workflow-cps:2.90 git:4.7.1 credentials-binding:1.24 kubernetes:1.29.4 font-awesome-api:5.15.2-2 echarts-api:5.1.0-2 gcloud-sdk:0.0.3 ssh-slaves:1.31.5 jquery:1.12.4-1 junit:1.49 pipeline-stage-view:2.19 config-file-provider:3.8.0 popper-api:1.16.1-2 trilead-api:1.0.13 jackson2-api:2.12.3 matrix-auth:2.6.6 pipeline-model-api:1.8.4 gitlab-plugin:1.5.20 apache-httpcomponents-client-4-api:4.5.13-1.0 script-security:1.76 windows-slaves:1.7 workflow-api:2.42 durable-task:1.35 pipeline-stage-tags-metadata:1.8.4 token-macro:2.15 workflow-support:3.8 jdk-tool:1.5 external-monitor-job:1.7 jquery3-api:3.6.0-1 momentjs:1.1.1 ldap:2.6 command-launcher:1.5 pipeline-build-step:2.13 ssh-credentials:1.18.1 lockable-resources:2.10 branch-api:2.6.3 workflow-job:2.40 jobConfigHistory:2.27 pam-auth:1.6 pipeline-rest-api:2.19 google-oauth-plugin:1.0.5 pipeline-graph-analysis:1.10 workflow-cps-global-lib:2.18 authentication-tokens:1.4 envinject:2.4.0 workflow-multibranch:2.23 bouncycastle-api:2.20 workflow-aggregator:2.6 ace-editor:1.1 structs:1.22 google-kubernetes-engine:0.8.6 kubernetes-credentials:0.8.0 credentials:2.3.18 antisamy-markup-formatter:2.1 google-storage-plugin:1.5.4 pipeline-milestone-step:1.3.2 workflow-step-api:2.23 google-source-plugin:0.4 bootstrap4-api:4.6.0-3 extensible-choice-parameter:1.7.0 skip-certificate-check:1.0 msbuild:1.30 workflow-basic-steps:2.23 pipeline-stage-step:2.5 javadoc:1.6 git-server:1.9 mstest:1.0.0 powershell:1.4 docker-java-api:3.1.5.2 workflow-scm-step:2.12 git-client:3.7.1 ant:1.11 pipeline-model-definition:1.8.4 oauth-credentials:0.4 metrics:4.0.2.7 I'm not sure when this issue occured, but I think after installing the Git Parameter plugin, but:   I have : Apr 27, 2021 8:58:34 AM WARNING hudson.init.impl.InstallUncaughtExceptionHandler handleException Caught unhandled exception with ID b570eae6-540e-4d6b-91e9-8199058a00a5 net.sf.json.JSONException: JSONObject ["showNeedToCloneInformation"]  is not a Boolean. at net.sf.json.JSONObject.getBoolean(JSONObject.java:1929) at net.uaznia.lukanus.hudson.plugins.gitparameter.GitParameterDefinition$DescriptorImpl.configure(GitParameterDefinition.java:654) at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:3859) at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:3823) so it seems the git parameter plugin is the cause but after disabling that: net.sf.json.JSONException: JSONObject ["dockerUrl"]  not found. at net.sf.json.JSONObject.getString(JSONObject.java:2040) So I have to figure out now what the actual cause is. This seems like a jenkins bug? It should check if a plugin works properly, for example by doing a save action? Pretty inconvenient the whole server cannot be configured. Ho do I know the original cause and what is the best spot to file a bug ?

          Mark Waite added a comment -

          vgerris there is a known tables to divs issue with the google container registry auth plugin. Your choices are:

          • Remove the google container registry auth plugin
          • Replace the google container registry auth plugin with the alternative suggested by Tom
          • Remain with Jenkins 2.263.4 and accept that the security fixes in 2.277.2 and later are not available to you
          • Fix the issue in a private fork of the google container registry auth plugin, use that private fork
          • Adopt the google container registry auth plugin, fix the issue, and release a new version of the plugin

          Mark Waite added a comment - vgerris there is a known tables to divs issue with the google container registry auth plugin. Your choices are: Remove the google container registry auth plugin Replace the google container registry auth plugin with the alternative suggested by Tom Remain with Jenkins 2.263.4 and accept that the security fixes in 2.277.2 and later are not available to you Fix the issue in a private fork of the google container registry auth plugin, use that private fork Adopt the google container registry auth plugin, fix the issue, and release a new version of the plugin

          Vincent Gerris added a comment - - edited

          hi markewaite,

          Thank you for the elaborate reply and all your contributions!
          I cloned the repo to give it a go but it seems this plugin is likely not to be the culprit:

          https://github.com/jenkinsci/google-container-registry-auth-plugin/blob/master/src/main/resources/com/google/jenkins/plugins/googlecontainerregistryauth/GoogleContainerRegistryCredentialGlobalConfig/config.jelly

          That is the only code I could find that has no table elements.
          I spun up a docker jenkins and installed the Google container registry auth plugin and the saving still works.
          Based on that, I think it might be another component it needs that is the culprit, after all that was the one that was in my stacktrace.

          This seems recently updated:
          https://plugins.jenkins.io/docker-build-step/

          but I will test this one and other components I have in the live environments and try and pin it down further.

          thanks

           

          [update]

          yes it is docker build step:

          Caught unhandled exception with ID f851c8bc-3f4e-45ee-aae4-940ba14edaf3 net.sf.json.JSONException: JSONObject["dockerUrl"] not found. at net.sf.json.JSONObject.getString(JSONObject.java:2040)

           

          I will take a look at that one when I find time

          Vincent Gerris added a comment - - edited hi markewaite , Thank you for the elaborate reply and all your contributions! I cloned the repo to give it a go but it seems this plugin is likely not to be the culprit: https://github.com/jenkinsci/google-container-registry-auth-plugin/blob/master/src/main/resources/com/google/jenkins/plugins/googlecontainerregistryauth/GoogleContainerRegistryCredentialGlobalConfig/config.jelly That is the only code I could find that has no table elements. I spun up a docker jenkins and installed the Google container registry auth plugin and the saving still works. Based on that, I think it might be another component it needs that is the culprit, after all that was the one that was in my stacktrace. This seems recently updated: https://plugins.jenkins.io/docker-build-step/ but I will test this one and other components I have in the live environments and try and pin it down further. thanks   [update] yes it is docker build step: Caught unhandled exception with ID f851c8bc-3f4e-45ee-aae4-940ba14edaf3 net.sf.json.JSONException: JSONObject ["dockerUrl"] not found. at net.sf.json.JSONObject.getString(JSONObject.java:2040)   I will take a look at that one when I find time

          another finding: if I enable this plugin https://plugins.jenkins.io/docker-build-step/ and disable https://plugins.jenkins.io/google-container-registry-auth/ ,saving also works.

          So it seems that there is an issue with the combination of the two.

          I scanned a bit through the first and cannot find any obvious issues after reading this https://www.jenkins.io/doc/developer/views/table-to-div-migration/ .

          How do we know it is either or both plugins that have an issue? Can anyone help pointing me in the right direction?

          As a workaround I just disable the docker plugin now if I want to save something and then put it back.

          I'm happy to make an attempt at fixing source, but I would really like some good pointers on what to read and look at to understand the problem.
          Thanks

          Vincent Gerris added a comment - another finding: if I enable this plugin https://plugins.jenkins.io/docker-build-step/  and disable https://plugins.jenkins.io/google-container-registry-auth/  ,saving also works. So it seems that there is an issue with the combination of the two. I scanned a bit through the first and cannot find any obvious issues after reading this https://www.jenkins.io/doc/developer/views/table-to-div-migration/  . How do we know it is either or both plugins that have an issue? Can anyone help pointing me in the right direction? As a workaround I just disable the docker plugin now if I want to save something and then put it back. I'm happy to make an attempt at fixing source, but I would really like some good pointers on what to read and look at to understand the problem. Thanks

          Mark Waite added a comment -

          vgerris my first guess would be to fork both plugins and update their pom.xml files to use the recommended parent pom version as described in "Choosing a Jenkins version to build against". That will often highlight surprises where one or both plugins are depending on something that has changed since their base Jenkins version was released.

          If changes to pom files are not familiar to you, you could start a "disposable" Jenkins plugin from the "Creating a new plugin" guide or from the "Plugin tutorial". The pom file created in that case should be a good reference for comparison.

          Mark Waite added a comment - vgerris my first guess would be to fork both plugins and update their pom.xml files to use the recommended parent pom version as described in "Choosing a Jenkins version to build against" . That will often highlight surprises where one or both plugins are depending on something that has changed since their base Jenkins version was released. If changes to pom files are not familiar to you, you could start a "disposable" Jenkins plugin from the "Creating a new plugin" guide or from the "Plugin tutorial" . The pom file created in that case should be a good reference for comparison.

          Thanks markewaite I will take a look.

          I can also confirm there is an issue with the Google plugin.
          Although it doesn't throw an exception, a side effect seems to be that it does not save things to settings (this happened with https://plugins.jenkins.io/publish-over-ftp/ ) .

          When I disable both it gets saved.
          Another plugin that is broken seems to be :
          https://plugins.jenkins.io/git-parameter/

          I'm just writing it here now for reference, I will check if there is a ticket for it and if not create it.
          I will pursue this in the spare time I can free up, would be great if these can all work again.
          Thanks for your support and guidance!

           

          Vincent Gerris added a comment - Thanks markewaite  I will take a look. I can also confirm there is an issue with the Google plugin. Although it doesn't throw an exception, a side effect seems to be that it does not save things to settings (this happened with https://plugins.jenkins.io/publish-over-ftp/  ) . When I disable both it gets saved. Another plugin that is broken seems to be : https://plugins.jenkins.io/git-parameter/ I'm just writing it here now for reference, I will check if there is a ticket for it and if not create it. I will pursue this in the spare time I can free up, would be great if these can all work again. Thanks for your support and guidance!  

          Vincent Gerris added a comment - - edited

          It seems I missed something that I actually referenced:

          https://github.com/jenkinsci/google-container-registry-auth-plugin/blob/master/src/main/resources/com/google/jenkins/plugins/googlecontainerregistryauth/GoogleContainerRegistryCredentialGlobalConfig/config.jelly

          line 18 : xmlns:a="/lib/auth">'

          that single quote is problably the culprit and /lib/auth is not mentioned in current tags so I removed it too .
          I updated the whole project without success and then when I found that and recompiled it, it could save, including all the other plugins.
          So definitely this plugin and it seems it hits the others.
          I am now trying to fix errors from tests, so still working on it.
          Whomever has can compile this easily with original source may have a quikc fix.
          I upgraded to latest pom and dependencies, so the one I publish will be working rom 2.277.1 and on.

          Will try to make a PR and reference my repo when it's a bit near decent.

          Vincent Gerris added a comment - - edited It seems I missed something that I actually referenced: https://github.com/jenkinsci/google-container-registry-auth-plugin/blob/master/src/main/resources/com/google/jenkins/plugins/googlecontainerregistryauth/GoogleContainerRegistryCredentialGlobalConfig/config.jelly line 18 : xmlns:a="/lib/auth">' that single quote is problably the culprit and /lib/auth is not mentioned in current tags so I removed it too . I updated the whole project without success and then when I found that and recompiled it, it could save, including all the other plugins. So definitely this plugin and it seems it hits the others. I am now trying to fix errors from tests, so still working on it. Whomever has can compile this easily with original source may have a quikc fix. I upgraded to latest pom and dependencies, so the one I publish will be working rom 2.277.1 and on. Will try to make a PR and reference my repo when it's a bit near decent.

          Vincent Gerris added a comment - - edited

          hi,

          I fixed the plugin and it seems to work.
          Settings save and the docker step plugin works and pushes to the registry.
          The update is a bit crude and 5 tests still fail, not sure why - can anyone assist there?
          I made a PR but it may not be seen, because the maintainer does not seem to respond:
          https://github.com/jenkinsci/google-container-registry-auth-plugin/pull/4

          The branch that I pushed is here:
          https://github.com/VGerris/google-container-registry-auth-plugin/tree/fix-global-settings-and-tests

          The 5 tests (most endtoend) that fail may be because of me missing something like setting credentials, but I am not sure - help and pointers are appreciated.

          I updated a lot of the plugins and minimum version of Jenkins is 2.277.1.

          Because of the failing tests, one needs to build with :
          mvn clean install -Dspotbugs.skip -DskipTests 
          which is obviously unwanted.

          As mentioned before, the bug fix is likely just removing the ' int the jelly file, but that source did not build either so I took the step to try and bring it up to current versions.

          Thanks all for the pointers, and again, some help with the tests is highly appreciated.

          The plugin I built is tested in a Jenkins that uses it and it successfully pushed a docker image to the registry.
          Feel free to test it and report back, use at your own risk of course.

           

          Vincent Gerris added a comment - - edited hi, I fixed the plugin and it seems to work. Settings save and the docker step plugin works and pushes to the registry. The update is a bit crude and 5 tests still fail, not sure why - can anyone assist there? I made a PR but it may not be seen, because the maintainer does not seem to respond: https://github.com/jenkinsci/google-container-registry-auth-plugin/pull/4 The branch that I pushed is here: https://github.com/VGerris/google-container-registry-auth-plugin/tree/fix-global-settings-and-tests The 5 tests (most endtoend) that fail may be because of me missing something like setting credentials, but I am not sure - help and pointers are appreciated. I updated a lot of the plugins and minimum version of Jenkins is 2.277.1. Because of the failing tests, one needs to build with : mvn clean install -Dspotbugs.skip -DskipTests  which is obviously unwanted. As mentioned before, the bug fix is likely just removing the ' int the jelly file, but that source did not build either so I took the step to try and bring it up to current versions. Thanks all for the pointers, and again, some help with the tests is highly appreciated. The plugin I built is tested in a Jenkins that uses it and it successfully pushed a docker image to the registry. Feel free to test it and report back, use at your own risk of course.  

          I applied for access to merge on the repo, via the jenkins-dev list.
          I already got a lot of tips for improvement, which are in a new branch:
          https://github.com/VGerris/google-container-registry-auth-plugin/tree/fix-tests-and-clean-pom-wip

          There is one of 5 failing tests fixed, but I am not sure about the others because of complexity.
          I would like to ask anyone reading this just to clone the repo, run mvn and install the built hpi to test it.
          It would be even more great if anyone can help out with fixing the tests !

          Expect pushes to the above branch when there are improvements.
          It should take max two weeks for the maintainer to respond before transferal.
          I hope to merge it after that, but I think it's good to have to tests working and people reporting back to make sure everything works as expected.

          Thanks for all the help, I will try to only post here with major updates.
          Cheers

          Vincent Gerris added a comment - I applied for access to merge on the repo, via the jenkins-dev list. I already got a lot of tips for improvement, which are in a new branch: https://github.com/VGerris/google-container-registry-auth-plugin/tree/fix-tests-and-clean-pom-wip There is one of 5 failing tests fixed, but I am not sure about the others because of complexity. I would like to ask anyone reading this just to clone the repo, run mvn and install the built hpi to test it. It would be even more great if anyone can help out with fixing the tests ! Expect pushes to the above branch when there are improvements. It should take max two weeks for the maintainer to respond before transferal. I hope to merge it after that, but I think it's good to have to tests working and people reporting back to make sure everything works as expected. Thanks for all the help, I will try to only post here with major updates. Cheers

          Eric Sherman added a comment - - edited

          rxe70 and all thank you for this ticket.  The Google Container Registry Auth Plugin removal did it for me too.  Jenkins 2.277.4.  This was a life saver!

          Eric Sherman added a comment - - edited rxe70  and all thank you for this ticket.  The Google Container Registry Auth Plugin removal did it for me too.  Jenkins 2.277.4.  This was a life saver!

          hi shermaneric, are you able to build the plugin from the branch I shared?

          I fixed the bug, until now I have not been able to fix the included integration tests, so I have no good PR for the main project yet.
          The maintainer has responded in the meantime and is looking for the option to have this maintained by people within Google.
          If that will not happen, it's likely I will maintain it.
          The hpi file is too big too attach here, but you can fetch it here:
          https://www.dropbox.com/s/kh4frn364y82qj2/google-container-registry-auth-0.4-snapshot-fix-global-settings.hpi?dl=0

          any feedback is greatly appreciated, thanks

          Vincent Gerris added a comment - hi shermaneric , are you able to build the plugin from the branch I shared? I fixed the bug, until now I have not been able to fix the included integration tests, so I have no good PR for the main project yet. The maintainer has responded in the meantime and is looking for the option to have this maintained by people within Google. If that will not happen, it's likely I will maintain it. The hpi file is too big too attach here, but you can fetch it here: https://www.dropbox.com/s/kh4frn364y82qj2/google-container-registry-auth-0.4-snapshot-fix-global-settings.hpi?dl=0 any feedback is greatly appreciated, thanks

          Eric Sherman added a comment -

          hi vgerris - thanks.  Let me see if I can find a test jenkins instance to leverage with.  Perhaps sometime next week hopefully.  

          Eric Sherman added a comment - hi vgerris  - thanks.  Let me see if I can find a test jenkins instance to leverage with.  Perhaps sometime next week hopefully.  

          Dennis Tran added a comment -

          I just found out that upgrade to Jenkins 2.303.1 not affect this issue.

           

          Dennis Tran added a comment - I just found out that upgrade to Jenkins 2.303.1 not affect this issue.  

            Unassigned Unassigned
            billtran Bill
            Votes:
            4 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated: