string(defaultValue: 'osm/NBI', description: '', name: 'GERRIT_PROJECT'),
string(defaultValue: env.GERRIT_REFSPEC, description: '', name: 'GERRIT_REFSPEC'),
string(defaultValue: env.GERRIT_PATCHSET_REVISION, description: '', name: 'GERRIT_PATCHSET_REVISION'),
+ string(defaultValue: 'patchset-created', description: '', name: 'GERRIT_EVENT_TYPE'),
string(defaultValue: 'https://osm.etsi.org/gerrit', description: '', name: 'PROJECT_URL_PREFIX'),
booleanParam(defaultValue: false, description: '', name: 'TEST_INSTALL'),
string(defaultValue: 'artifactory-osm', description: '', name: 'ARTIFACTORY_SERVER'),
}
node('docker') {
- checkout scm
- devops_checkout()
-
- ci_stage_2 = load "devops/jenkins/ci-pipelines/ci_stage_2.groovy"
- ci_stage_2.ci_pipeline( 'NBI',
- params.PROJECT_URL_PREFIX,
- params.GERRIT_PROJECT,
- params.GERRIT_BRANCH,
- params.GERRIT_REFSPEC,
- params.GERRIT_PATCHSET_REVISION,
- params.TEST_INSTALL,
- params.ARTIFACTORY_SERVER)
+ stage('CURRENT PIPELINE') {
+ checkout scm
+ devops_checkout()
+
+ ci_stage_2 = load "devops/jenkins/ci-pipelines/ci_stage_2.groovy"
+ ci_stage_2.ci_pipeline('NBI',
+ params.PROJECT_URL_PREFIX,
+ params.GERRIT_PROJECT,
+ params.GERRIT_BRANCH,
+ params.GERRIT_REFSPEC,
+ params.GERRIT_PATCHSET_REVISION,
+ // params.TEST_INSTALL,
+ false,
+ params.ARTIFACTORY_SERVER)
+ }
+ stage('NEW PIPELINE') {
+ // a devops changes in new-pipeline branch is required to receive GERRIT_EVENT_TYPE
+ // https://osm.etsi.org/gerrit/#/c/osm/devops/+/9701/
+ // Meanwhile, stage_name is predefined
+ def stage_name = "patchset"
+ try {
+ switch(GERRIT_EVENT_TYPE) {
+ case "change-merged":
+ stage_name = "merge"
+ break
+
+ case "patchset-created":
+ stage_name = "patchset"
+ break
+ }
+ }
+ catch(caughtError) {
+ println("No gerrit event found")
+ }
+
+ def downstream_params = [
+ string(name: 'GERRIT_BRANCH', value: params.GERRIT_BRANCH),
+ string(name: 'GERRIT_PROJECT', value: params.GERRIT_PROJECT),
+ string(name: 'GERRIT_REFSPEC', value: params.GERRIT_REFSPEC),
+ string(name: 'GERRIT_PATCHSET_REVISION', value: params.GERRIT_PATCHSET_REVISION),
+ string(name: 'PROJECT_URL_PREFIX', value: params.PROJECT_URL_PREFIX),
+ booleanParam(name: 'TEST_INSTALL', value: params.TEST_INSTALL),
+ // next params will have to be updated with the proper values
+ string(name: 'IMAGENAME', value: 'opensourcemano/nbi'),
+ string(name: 'DOCKER_REGISTRY', value: 'localhost:5000'),
+ string(name: 'DOCKER_REGISTRY_PROTOCOL', value: 'http://'),
+ string(name: 'DOCKER_CREDENTIALS', value: '')
+ ]
+
+ downstream_job_name = "NBI-${stage_name}"
+ echo "Triggering NEW PIPELINE"
+ build job: "${downstream_job_name}", parameters: downstream_params
+ // build job: "${downstream_job_name}", parameters: downstream_params, propagate: true
+ // It calls the new pipeline defined in Jenkinsfile.new
+ //
+ //build job: '<Job name>', parameters: [[$class: 'StringParameterValue', name: 'param1', value: 'test_param']]
+ }
}
+