Community
Participate
Working Groups
Just added "https://hudson.eclipse.org/" as new hudson repo (see the missing hudson path at the end). The UI tells me that this is a valid repository but in the logs, you'll find the following exceptions. !ENTRY org.eclipse.mylyn.builds.core 4 2 2010-08-29 22:46:26.809 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.mylyn.builds.core". !STACK 1 org.eclipse.core.runtime.CoreException: Unexpected error: Forbidden at org.eclipse.mylyn.internal.hudson.core.HudsonCorePlugin.toCoreException(HudsonCorePlugin.java:61) at org.eclipse.mylyn.internal.hudson.core.HudsonServerBehaviour.refreshConfiguration(HudsonServerBehaviour.java:296) at org.eclipse.mylyn.builds.internal.core.operations.RefreshConfigurationOperation$1.run(RefreshConfigurationOperation.java:77) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.mylyn.builds.internal.core.operations.RefreshConfigurationOperation.doRefresh(RefreshConfigurationOperation.java:75) at org.eclipse.mylyn.builds.internal.core.operations.RefreshConfigurationOperation.doExecute(RefreshConfigurationOperation.java:61) at org.eclipse.mylyn.builds.internal.core.operations.BuildJob.run(BuildJob.java:79) at org.eclipse.mylyn.builds.internal.core.BuildServer.refreshConfiguration(BuildServer.java:501) at org.eclipse.mylyn.builds.ui.spi.BuildServerPart$Validator.run(BuildServerPart.java:112) at org.eclipse.mylyn.commons.ui.team.RepositoryLocationPart$2.run(RepositoryLocationPart.java:579) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) Caused by: org.eclipse.mylyn.internal.hudson.core.client.HudsonException: Forbidden at org.eclipse.mylyn.internal.hudson.core.client.HudsonOperation.run(HudsonOperation.java:34) at org.eclipse.mylyn.internal.hudson.core.client.RestfulHudsonClient.getJobs(RestfulHudsonClient.java:205) at org.eclipse.mylyn.internal.hudson.core.HudsonServerBehaviour.refreshConfiguration(HudsonServerBehaviour.java:294) ... 9 more Caused by: java.io.IOException: Forbidden at org.eclipse.mylyn.commons.http.CommonHttpClient.needsReauthentication(CommonHttpClient.java:103) at org.eclipse.mylyn.commons.http.HttpOperation.needsReauthentication(HttpOperation.java:102) at org.eclipse.mylyn.commons.http.HttpOperation.execute(HttpOperation.java:76) at org.eclipse.mylyn.internal.hudson.core.client.RestfulHudsonClient$3.execute(RestfulHudsonClient.java:175) at org.eclipse.mylyn.internal.hudson.core.client.RestfulHudsonClient$3.execute(RestfulHudsonClient.java:1) at org.eclipse.mylyn.internal.hudson.core.client.HudsonOperation.run(HudsonOperation.java:32) ... 11 more Caused by: java.lang.UnsupportedOperationException at org.eclipse.mylyn.internal.commons.repositories.LocationService.requestCredentials(LocationService.java:93) at org.eclipse.mylyn.builds.internal.core.util.RepositoryWebLocation.requestCredentials(RepositoryWebLocation.java:53) at org.eclipse.mylyn.commons.http.CommonHttpClient.needsReauthentication(CommonHttpClient.java:97) ... 16 more
Yes, that needs to be improved. The validation only checks for a 200 response which is obviously not sufficient.
Hudson always sends an X-Hudson header with it's version. We can check if the url is really a hudson instance and if we support this hudson version. See http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API
Good idea. Let's do that.
Fixed in head. The validator now looks for the header and has improved reporting.