在Jenkins管道中,如何将一个文件夹中的作业复制到SAME文件夹中的另一个作业?

时间:2019-02-14 21:41:01

标签: jenkins jenkins-pipeline

我有以下管道代码

node('linux-devops') {
    stage('Create job') {
        def jobTemplate = null
        String jobFolder = "feature-development/feature-deploys"
        def jenkins = Jenkins.getInstance()
        // For some reasone jenkins.getItem("job-template") returns null
        // so I do the following for()
        def jobs = jenkins.getAllItems(Job.class)
        for (job in jobs) {
            if (job.fullName == "$jobFolder/job-template") {
                jobTemplate = job
                break
            }
        }
        def job = jenkins.copy(jobTemplate, "$jobFolder/feature%2Fdev-1234")
        job.save()
    }
}

它可以工作,但是它会以您的名字而不是全名(带有路径)复制作业,即“功能开发/功能部署/功能%2Fdev-1234”。我希望作业名称“ feature / dev-1234”位于文件夹“ feature-development / feature-deploys”中

换句话说,我有这个Jenkins工作文件夹,其中有以下工作

feature-development/feature-deploys/
                                   /job-template

运行脚本后,我需要这种结构。注意“ feature / dev-1234”是新作业的名称。

feature-development/feature-deploys/
                                   /job-template
                                   /feature/dev-1234

0 个答案:

没有答案