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

Subversion : environment variables work only partially (got broken in 2.3 or prior, after 1.44)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • subversion-plugin
    • None
    • RHEL6

      With upgrade of Subversion plugin from 1.44 to 2.3, environment variable behavior changed for the worse. I did not find any similar report in search although there are tons of reports concerning environment variables in various scenarios.

      Details:

      I have tons of jobs that all use a handful of branches. I need to "bump up" these jobs to use updated branch names on a regular basis, so the branch names live in global properties as environment variables, for example as below. (This is extremely convenient for managing a large number of jobs for me and hence important).

      name: BASE_INTEGRATION_BRANCH
      value: http://repo.company.net/svn/branches/release/Base.14.04

      Then, each job that needs to use this has its Subversion config as:

      Repository: ${BASE_INTEGRATION_BRANCH}

      In Subversion plugin 1.44, both polling and checkout worked flawlessly. After upgrade to 2.3, checkouts still work but polling always fails as below. (I have tried both ticking and unticking the "Validate repository URLs up to the first variable name" checkbox in global Subversion plugin config to no effect).

      Started on 2014-maj-08 14:37:16
      ERROR: Failed to check repository revision for ${BASE_INTEGRATION_BRANCH}
      org.tmatesoft.svn.core.SVNException: svn: E125002: Malformed URL '${BASE_INTEGRATION_BRANCH}'
      at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
      at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
      at org.tmatesoft.svn.core.SVNURL.<init>(SVNURL.java:233)
      at org.tmatesoft.svn.core.SVNURL.parseURIEncoded(SVNURL.java:127)
      at hudson.scm.SubversionSCM$ModuleLocation.getSVNURL(SubversionSCM.java:2700)
      at hudson.scm.SubversionSCM.compareRemoteRevisionWith(SubversionSCM.java:1442)
      at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:357)
      at hudson.scm.SCM.poll(SCM.java:374)
      at hudson.model.AbstractProject._poll(AbstractProject.java:1427)
      at hudson.model.AbstractProject.poll(AbstractProject.java:1330)
      at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:466)
      at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:495)
      at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:744)
      Caused by: svn: E125002: Malformed URL '${BASE_INTEGRATION_BRANCH}'
      at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:171)
      at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:126)
      at org.tmatesoft.svn.core.SVNURL.<init>(SVNURL.java:232)
      ... 15 more
      Done. Took 11 ms
      Changes found

            recena Manuel Recena Soto
            paweldefee Pawel Defee
            Votes:
            4 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: