def myFile= new File("/var/lib/jenkins/jobs/dnet-dsl-job/workspace/configuration.xml") def parser=new XmlSlurper().parseText(myFile.text); print "I'm Here and it works" def allModule=parser.module.each { def projectName= it.name as String def sourceCodeType=it.source.@type def versionCode = it.source.@version def URLSource=it.source as String def mvnGoal= it.goal as String def hasSonar= it.sonar as String def mail = it.mail as String def repositoryId = it.deploy.RepositoryId as String def repositoryURL = it.deploy.RepositoryURL as String job(type: Maven) { if (versionCode == '4') { name 'DSL4_'+projectName using ("dnet4-svn-template") } else{ name 'DSL_'+projectName using ("dnet-svn-template") } triggers { scm('H/10 * * * *') } configure { project -> def goalModule=project / goals goalModule.value=mvnGoal def scm= project / scm def remoteNode= scm.locations.'hudson.scm.SubversionSCM_-ModuleLocation'[0].remote[0] remoteNode.value=URLSource if (mail){ def publishersNode = project /publishers def repo_publisher_node= publishersNode.appendNode('hudson.maven.RedeployPublisher') def repoid_node =repo_publisher_node.appendNode('id') repoid_node.value = repositoryId def repourl_node =repo_publisher_node.appendNode('url') repourl_node.value = repositoryURL repo_publisher_node.appendNode('uniqueVersion').value='true' repo_publisher_node.appendNode('evenIfUnstable').value='true' def m1 = publishersNode.appendNode('hudson.plugins.emailext.ExtendedEmailPublisher') m1.@plugin= "email-ext@2.36" def rec1 = m1.appendNode('recipientList') rec1.value= mail def ct= m1.appendNode('configuredTriggers') def TriggerNode = ct.appendNode('hudson.plugins.emailext.plugins.trigger.FailureTrigger') def emailNode = TriggerNode.appendNode('email') emailNode << { recipientList () subject ('Jenkins Job Problem on $PROJECT_NAME - Build # $BUILD_NUMBER') body ('$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS: Check console output at $BUILD_URL to view the results.') sendToDevelopers ('true') sendToRequester ('true') includeCulprits('true') sendToRecipientList('true') attachmentsPattern('') attachBuildLog('true') compressBuildLog('false') replyTo (mail) contentType('text/html') } TriggerNode.appendNode('attachBuildLog').value='true' TriggerNode.appendNode('defaultSubject').value='Jenkins Job Problem on $PROJECT_NAME - Build # $BUILD_NUMBER' TriggerNode.appendNode('defaultContent').value='$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS: Check console output at $BUILD_URL to view the results.' TriggerNode.appendNode('contentType').value='text/html' } if (hasSonar.equals("YES")) { def pubblish=(project /publishers) ppNode=pubblish.appendNode('hudson.plugins.sonar.SonarPublisher') ppNode.@plugin="sonar@2.1" ppNode.appendNode('jdk').value= '(Inherit From Job)' } } } }