I'm running Jenkins in Tomcat 7 on an Ubuntu host.

When I go to enter a Subversion repository URL for a job, I get the
expected error message (specific locations replaced by ellipses):
 Unable to access https://... : svn: OPTIONS /… failed (show details)
(Maybe you need to enter credential?)

So I enter my credentials and they're successfully validated.

But now when I go back to the Subversion repository configuration for the
job, I keep getting the same error message. It's like the otherwise
accepted credentials never took hold.

Here's the subversion.credentials file that gets created for the job:
<?xml version='1.0' encoding='UTF-8'?>
<hudson.scm.PerJobCredentialStore>
  <credentials class="hashtable">
    <entry>
      <string>&lt;https://…:443&gt; wandisco</string>
      <hudson.scm.SubversionSCM_-DescriptorImpl_-PasswordCredential>
        <userName>…</userName>
        <password>…</password>
      </hudson.scm.SubversionSCM_-DescriptorImpl_-PasswordCredential>
    </entry>
  </credentials>
</hudson.scm.PerJobCredentialStore>

Note the use of the URL encoding and the "wandisco". I see similar content
getting persisted to a file hudson.scm.SubversionSCM.xml at the Jenkins
root.

Here's the associated stack trace:
Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: No credential to
try. Authentication failed
 at
org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)
at
org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)
 at
org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:219)
at
hudson.scm.FilterSVNAuthenticationManager.getFirstAuthentication(FilterSVNAuthenticationManager.java:35)
 at
org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:563)
at
org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:285)
 ... 63 more
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: No credential to
try. Authentication failed
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200)
 at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:146)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:89)

I installed a standalone svn client on this host, and that client was able
to check out source from the same repository, no problem. The configuration
in Jenkins home is being saved under the tomcat7 user.

I've also run Jenkins on Tomcat 7 on my Windows desktop, and that install
is able to hit the Subversion repository just fine configured the same way.
However, a per-job subversion.credentials file wasn't created on my
desktop, and the hudson.scm.SubversionSCM.xml doesn't contain any
credentials, which leads me to wonder how the Windows install is picking up
Subversion credentials that the Ubuntu isn't.

I'm using an older version of the Subversion Plugin, 1.34 instead of 1.43,
because of the "bad_record_mac" problem which one can find mentioned on
this list.

Happy to offer a reward for a solution. Will update this thread if I find
one myself. I bet this is nothing more than a Unix users thing.

Reply via email to