-
Task
-
Resolution: Unresolved
-
Major
-
Jenkins version 2.64
I am using Jenkins and ANT build to automate our build and release process.
I am using 'hudson.util.Secret' API to encrypt and decrypt passwords in Jenkins.
I have encrypted all passwords and kept in a property file using the API. Now, during the build process, I need to decrypt the password dynamically.
For that, I decided to use groovy script for decryption process (please refer the below code) in ant build.xml file.
Code
import hudson.util.Secret
// To decrypt Old Password
def password = Secret.fromString("{AQAAABAAAAAQAoxLF+PLmbaD1FJiLZznGOZ4pEJI4hnXHRjXVkLBrFM=}")
def decPassword = password.getPlainText()
println("Decrypted Password = "+decPassword)
The above code is working fine in Jenkins 'Script Console'. But while using the same in ANT build.xml file as groovy script, 'unable to resolve class hudson.util.Secret' exception is thrown .
Code in Ant build.xml
<?xml version="1.0" encoding="windows-1252" ?>
<project xmlns="antlib:org.apache.tools.ant" name="Sample Build XML" default="main" basedir=".">
<target name="main">
<script language="groovy" classpath = "C:/jenkins/war/WEB-INF/lib/groovy-all-2.4.11.jar">
import hudson.util.Secret
// To decrypt Old Password
def password = Secret.fromString("{AQAAABAAAAAQAoxLF+PLmbaD1FJiLZznGOZ4pEJI4hnXHRjXVkLBrFM=}")
def decPassword = password.getPlainText()
println("Decrypted Password = "+decPassword)
</script>
</target>
</project>
Exception
BUILD FAILED
C:\tools\my_samples\sample_build.xml:4: javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script1.groovy: 2: unable to resolve class hudson.util.Secret
@ line 2, column 2.
import hudson.util.Secret
^
1 error
How to resolve 'unable to resolve class hudson.util.Secret' exception in groovy script in ANT build.xml?
Any other code change is needed in buid.xml file?
Thanks in advance.