pipelineJob('Release-activity/Platformng') { logRotator { numToKeep(10) artifactNumToKeep(10) } parameters { choice { name('BRANCH_TYPE') choices(['Release', 'RC']) description('Select one of branch types') } choiceParameter { name('SOURCE_BRANCH_NAME') randomName('') filterable(true) filterLength(1) script { groovyScript { fallbackScript { script('') sandbox(false) } script { sandbox(false) script( """import groovy.json.JsonSlurperClassic def sout = new StringBuffer(), serr = new StringBuffer() def proc = 'curl --connect-timeout 15 -u \${gitLogin}:\${gitPass} \${env.JENKINS_GIT_REPOSITORY_HTTP_URL}/api/v1/repos/\${repoName}/branches'.execute() proc.consumeProcessOutput(sout, serr) proc.waitForOrKill(5000) JSONInfo = new JsonSlurperClassic().parseText(sout.toString()) List branches = [] JSONInfo.each{ branch -> branches.add(branch.name) } return branches.sort() """ ) } } } choiceType('PT_SINGLE_SELECT') } string { name('VERSION') defaultValue('') description('Release version eg. (1.4 or 1.4-demo)') } } definition { cpsScm { scm { git { remote { url("${JENKINS_GIT_REPOSITORY_URL}/DevOps/jenkins-pipelines.git") credentials("${JENKINS_GIT_CREDENTIALS_HTTP}") } branch('master') } } scriptPath('pipelines/Release-activity/platformng.groovy') } } }