Package: jenkins-job-builder
Version: 1.3.0-5
Severity: normal

Debian's jenkins-job-builder generates invalid xml for the 'Publish over
SSH' plugin if used as a publisher. Consider the following snippet:

  - job:
      name: 'demo-ssh-deployment'
      builders:
        - shell: 'echo "hi"'
      publishers:
        - ssh:
            site: 'server.example.com'
            target: 'dest/dir'
            source: '*.tar.gz'

The configure view of the job shows empty fields for site, target and
source. When using the same snippet with an unmodified
jenkins-job-builder (1.3.0) in a virtualenv, the above snippet works.

The config.xml generated with Debian's jenkins-job-builder has a nested
'delegate' tag, while the working config.xml has only 'delegate' tag:

--- upstream/demo-ssh-deployment/config.xml     2015-11-30 12:37:43.710179256 
+0100
+++ debian/demo-ssh-deployment/config.xml       2015-11-30 12:38:08.677979870 
+0100
@@ -15,31 +15,33 @@
   </builders>
   <publishers>
     <jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin>
-      <consolePrefix>SSH: </consolePrefix>
       <delegate>
-        <publishers>
-          <jenkins.plugins.publish__over__ssh.BapSshPublisher>
-            <configName>server.example.com</configName>
-            <verbose>true</verbose>
-            <transfers>
-              <jenkins.plugins.publish__over__ssh.BapSshTransfer>
-                <remoteDirectory>dest/dir</remoteDirectory>
-                <sourceFiles>*.tar.gz</sourceFiles>
-                <excludes/>
-                <removePrefix/>
-                <remoteDirectorySDF>false</remoteDirectorySDF>
-                <flatten>false</flatten>
-                <cleanRemote>false</cleanRemote>
-              </jenkins.plugins.publish__over__ssh.BapSshTransfer>
-            </transfers>
-            <useWorkspaceInPromotion>false</useWorkspaceInPromotion>
-            <usePromotionTimestamp>false</usePromotionTimestamp>
-          </jenkins.plugins.publish__over__ssh.BapSshPublisher>
-        </publishers>
-        <continueOnError>false</continueOnError>
-        <failOnError>false</failOnError>
-        <alwaysPublishFromMaster>false</alwaysPublishFromMaster>
-        <hostConfigurationAccess 
class="jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin" 
reference="../.."/>
+        <consolePrefix>SSH: </consolePrefix>
+        <delegate>
+          <publishers>
+            <jenkins.plugins.publish__over__ssh.BapSshPublisher>
+              <configName>server.example.com</configName>
+              <verbose>true</verbose>
+              <transfers>
+                <jenkins.plugins.publish__over__ssh.BapSshTransfer>
+                  <remoteDirectory>dest/dir</remoteDirectory>
+                  <sourceFiles>*.tar.gz</sourceFiles>
+                  <excludes/>
+                  <removePrefix/>
+                  <remoteDirectorySDF>false</remoteDirectorySDF>
+                  <flatten>false</flatten>
+                  <cleanRemote>false</cleanRemote>
+                </jenkins.plugins.publish__over__ssh.BapSshTransfer>
+              </transfers>
+              <useWorkspaceInPromotion>false</useWorkspaceInPromotion>
+              <usePromotionTimestamp>false</usePromotionTimestamp>
+            </jenkins.plugins.publish__over__ssh.BapSshPublisher>
+          </publishers>
+          <continueOnError>false</continueOnError>
+          <failOnError>false</failOnError>
+          <alwaysPublishFromMaster>false</alwaysPublishFromMaster>
+          <hostConfigurationAccess 
class="jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin" 
reference="../.."/>
+        </delegate>
       </delegate>
     </jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin>
   </publishers>

--- System information. ---
Architecture: amd64
Kernel:       Linux 4.2.0-1-amd64

Debian Release: stretch/sid
  500 testing         security.debian.org
  500 testing         ftp.at.debian.org

Reply via email to