Reviewed-on: https://git.avroid.tech/DevOps/jenkins-pipelines/pulls/25 Reviewed-by: Denis Patrakeev <denis.patrakeev@avroid.tech> Co-authored-by: aleksandr.vodyanov <aleksandr.vodyanov@avroid.tech> Co-committed-by: aleksandr.vodyanov <aleksandr.vodyanov@avroid.tech>
69 lines
1.9 KiB
Groovy
69 lines
1.9 KiB
Groovy
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')
|
|
}
|
|
}
|
|
}
|
|
|