However, when we try to publish a Jenkins component build out to UCD via the Plugin we get the following:

ERROR: Failed to upload filesjava.lang.Exception: Error connecting to IBM UrbanCode Deploy: 404 java.lang.Exception: Error connecting to IBM UrbanCode Deploy: 404 at com.urbancode.ds.jenkins.plugins.urbandeploypublisher.UrbanDeploySite.executeJSONPost(UrbanDeploySite.java:278) at com.urbancode.ds.jenkins.plugins.urbandeploypublisher.PublishArtifactsCallable.createComponentVersion(PublishArtifactsCallable.java:164) at com.urbancode.ds.jenkins.plugins.urbandeploypublisher.PublishArtifactsCallable.call(PublishArtifactsCallable.java:96) at com.urbancode.ds.jenkins.plugins.urbandeploypublisher.PublishArtifactsCallable.call(PublishArtifactsCallable.java:22) at hudson.remoting.LocalChannel.call(LocalChannel.java:45) at com.urbancode.ds.jenkins.plugins.urbandeploypublisher.UrbanDeployPublisher.perform(UrbanDeployPublisher.java:318) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:779) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726) at hudson.model.Run.execute(Run.java:1568) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:236)

A 404 indicates that whatever resource you are requesting does not exist. Did you customize the UCD installation to use a non-default context root? Are you using this modified context root in your Jenkins settings for publishing the component version?

Yes, we did customize the UCD installation to use a non-default context root (/ucd) as our UCD Server is fronted by IBM WebSeal SSO. Without that /ucd context root, we had various issues fronting UCD Server with WebSeal SSO.

Yes, we are you using this modified context root in our Jenkins settings for publishing the component version.

1 reply

I notice that you're using an old version of the Jenkins plugin that is no longer supported. The latest version on the plugin site (1.6) now connects to UCD using our REST client which supports Tokens. Just specify 'PasswordIsAuthToken' in the username field and the token in the password field, the same as you would in other plugins.