场景:上任Jenkins管理员离职,它默认ftp插件创建的主机密码并没有交接到你手上。

解决办法:直接使用pipeline解决。

代码:

pipeline {

    agent any

    stages {        

        stage('get ftp password') {

            agent none

            steps {

                script {

                    List<Serializable> ftpServers = Jenkins.instance.getDescriptor("jenkins.plugins.publish_over_ftp.BapFtpPublisherPlugin").getHostConfigurations().collect { hostConfig ->

                        [

                            ftpHost: hostConfig.getName(),

                            ftphostName: hostConfig.getHostname(),

                            ftpUsername: hostConfig.getUsername(),

                            ftpPassword: hostConfig.getPassword()

                        ]

                    }

                    ftpServers.each { server ->

                        println "ftpHost: ${server.ftpHost}"

                        println "ftphostName: ${server.ftphostName}"

                        println "ftpUsername: ${server.ftpUsername}"

                        println "ftpPassword: ${server.ftpPassword}"

                    }

                }

            }

        }

    }

}