导出jenkins凭据

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")
}

 

posted @ 2026-07-23 17:07  黑山老猫  阅读(4)  评论(0)    收藏  举报