import com.cloudbees.plugins.credentials.*
import com.cloudbees.plugins.credentials.impl.*
import com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey
import org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl
import org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl
SystemCredentialsProvider.getInstance().getCredentials().each { c ->
println("==========================================")
println("Credential ID : ${c.id}")
println("Description : ${c.description ?: 'N/A'}")
println("Type : ${c.class.simpleName}")
// Username / Password
if (c instanceof UsernamePasswordCredentialsImpl) {
println("Username : ${c.username}")
println("Password : ${c.password.getPlainText()}")
}
// SSH Username with Private Key
if (c instanceof BasicSSHUserPrivateKey) {
println("SSH User : ${c.username}")
println("Private Key:")
println(c.getPrivateKey())
def passphrase = c.getPassphrase()
if (passphrase != null) {
println("Passphrase : ${passphrase.getPlainText()}")
} else {
println("Passphrase : <none>")
}
}
// Secret Text
if (c instanceof StringCredentialsImpl) {
println("Secret Text : ${c.secret.getPlainText()}")
}
// File Credential
if (c instanceof FileCredentialsImpl) {
println("Filename : ${c.fileName}")
println("File Content:")
println(new String(c.secretBytes.plainData))
}
println("==========================================\n")
}