diff --git a/src/main/groovy/com/entagen/jenkins/JenkinsApi.groovy b/src/main/groovy/com/entagen/jenkins/JenkinsApi.groovy index 8d451fc5..ced8aeb0 100644 --- a/src/main/groovy/com/entagen/jenkins/JenkinsApi.groovy +++ b/src/main/groovy/com/entagen/jenkins/JenkinsApi.groovy @@ -66,6 +66,10 @@ class JenkinsApi { post('job/' + missingJob.jobName + '/enable') } } + + void enableJob(ConcreteJob job) { + post('job/' + job.jobName + '/enable') + } void startJob(ConcreteJob job) { println "Starting job ${job.jobName}." diff --git a/src/main/groovy/com/entagen/jenkins/JenkinsJobManager.groovy b/src/main/groovy/com/entagen/jenkins/JenkinsJobManager.groovy index aaa2d9dd..9c632301 100644 --- a/src/main/groovy/com/entagen/jenkins/JenkinsJobManager.groovy +++ b/src/main/groovy/com/entagen/jenkins/JenkinsJobManager.groovy @@ -17,6 +17,7 @@ class JenkinsJobManager { Boolean noViews = false Boolean noDelete = false Boolean startOnCreate = false + Boolean enableJob = false JenkinsApi jenkinsApi GitApi gitApi @@ -63,7 +64,10 @@ class JenkinsJobManager { for(ConcreteJob missingJob in missingJobs) { println "Creating missing job: ${missingJob.jobName} from ${missingJob.templateJob.jobName}" jenkinsApi.cloneJobForBranch(missingJob, templateJobs) - if (startOnCreate) { + if(enableJob) { + jenkinsApi.enableJob(missingJob) + } + if (startOnCreate) { jenkinsApi.startJob(missingJob) } } diff --git a/src/main/groovy/com/entagen/jenkins/Main.groovy b/src/main/groovy/com/entagen/jenkins/Main.groovy index 50a99a4f..6b6b1164 100644 --- a/src/main/groovy/com/entagen/jenkins/Main.groovy +++ b/src/main/groovy/com/entagen/jenkins/Main.groovy @@ -19,7 +19,8 @@ class Main { r: [longOpt: 'view-regex', required: false, args: 1, argName: 'viewRegex', description: "Supply a custom regex to be applied to any generated views, overriding the default template regex - gradle flag: -DviewRegex="], k: [longOpt: 'no-delete', required: false, args: 0, argName: 'noDelete', description: "Do not delete (keep) branches and views - gradle flag -DnoDelete=true"], f: [longOpt: 'filter-branch-names', required: false, args: 1, argName: 'branchNameRegex', description: "Only branches matching the regex will be accepted - gradle flag: -DbranchNameRegex="], - usr: [longOpt: 'jenkins-user', required: false, args: 1, argName: 'jenkinsUser', description: "Jenkins username - gradle flag -DjenkinsUser="], + e: [longOpt: 'enable-job', required: false, args: 1, argName: 'enableJob', description: "When creating a new job, enable it even if template job was disabled - gradle flag: -DenableJob=true"], + usr: [longOpt: 'jenkins-user', required: false, args: 1, argName: 'jenkinsUser', description: "Jenkins username - gradle flag -DjenkinsUser="], pwd: [longOpt: 'jenkins-password', required: false, args: 1, argName: 'jenkinsPassword', description: "Jenkins password - gradle flag -DjenkinsPassword="] ]