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

Retry plugin download when getting 403 forbidden from plugin update

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      I'm running Jenkins in corporate environment and that means Jenkins doesn't have unlimited access to internet. All traffic goes through proxy and every allowed domain needs to be white-listed separately.

       

      When downloading plugin updates, the downloads fail with 403 Forbidden if a new mirror has been added and https://updates.jenkins.io/download/plugins/xxx call is redirected to the not-white-listed domain.

       

      People have to do things like this to circumvent the problem:
      https://www.north-47.com/knowledge-base/update-jenkins-plugins-behind-a-corporate-proxy/

       

      It seems unnecessary to fiddle around with the update-center.json or default.json when a simple retry to another domain could possibly be done in Jenkins? I'd think that this would be a good feature too if getting a 404 from the plugin mirror site (though that hasn't happened to me ever).

       

      -------------------------------------------------------------

      java.io.IOException: Failed to download from https://updates.jenkins.io/download/plugins/pipeline-rest-api/2.17/pipeline-rest-api.hpi (redirected to: https://ftp.halifax.rwth-aachen.de/jenkins/plugins/pipeline-rest-api/2.17/pipeline-rest-api.hpi)
      at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1321)
      at hudson.model.UpdateCenter$DownloadJob._run(UpdateCenter.java:1869)
      at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2147)
      at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1843)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:118)
      at java.lang.Thread.run(Thread.java:748)
      Caused by: java.io.IOException: Failed to load https://updates.jenkins.io/download/plugins/pipeline-rest-api/2.17/pipeline-rest-api.hpi to xxx/pipeline-rest-api.jpi.tmp
      at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1287)
      ... 7 more
      Caused by: java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 403 Forbidden"
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
      at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1950)
      at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1945)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1944)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1514)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
      at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
      at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1280)

        Attachments

          Activity

          There are no comments yet on this issue.

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            growl Vesa Kippola
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: