From bb376c197b864e9f60c43f97337da0d37e2d443d Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Fri, 18 May 2018 13:56:43 +0200 Subject: openci: Add event publisher to ODL and ONAP Autorelease jobs Change-Id: I1efdff3dbcfdcc9b0820b43d982f686bbe1db4a7 Signed-off-by: Fatih Degirmenci --- jjb/openci/create-ane.sh | 26 ++++++++++++++++++++++++++ jjb/openci/openci-odl-daily-jobs.yaml | 34 ++++++++++++++++++++++++++++++---- jjb/openci/openci-onap-daily-jobs.yaml | 34 ++++++++++++++++++++++++++++++---- 3 files changed, 86 insertions(+), 8 deletions(-) create mode 100755 jjb/openci/create-ane.sh diff --git a/jjb/openci/create-ane.sh b/jjb/openci/create-ane.sh new file mode 100755 index 000000000..8a4da8f52 --- /dev/null +++ b/jjb/openci/create-ane.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 Ericsson AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -o errexit +set -o nounset +set -o pipefail + +# This script creates ArtifactPublishedEvent +# The JMS Messaging Plugin doesn't handle the newlines well so the eventBody is +# constructed on a single line. This is something that needs to be fixed properly + +cat << EOF > $WORKSPACE/event.properties +type=$PUBLISH_EVENT_TYPE +origin=$PUBLISH_EVENT_ORIGIN +eventBody="{ 'type': '$PUBLISH_EVENT_TYPE', 'id': '$(uuidgen)', 'time': '$(date -u +%Y-%m-%d_%H:%M:%SUTC)', 'origin': '$PUBLISH_EVENT_ORIGIN', 'buildUrl': '$BUILD_URL', 'branch': 'master', 'artifactLocation': '$ARTIFACT_LOCATION', 'confidenceLevel': { $CONFIDENCE_LEVEL } }" +EOF +echo "Constructed $PUBLISH_EVENT_TYPE" +echo "--------------------------------------------" +cat $WORKSPACE/event.properties +echo "--------------------------------------------" diff --git a/jjb/openci/openci-odl-daily-jobs.yaml b/jjb/openci/openci-odl-daily-jobs.yaml index 8b53f6522..89f8e5497 100644 --- a/jjb/openci/openci-odl-daily-jobs.yaml +++ b/jjb/openci/openci-odl-daily-jobs.yaml @@ -26,13 +26,39 @@ concurrent: false parameters: + - string: + name: PUBLISH_EVENT_TYPE + default: ArtifactPublishedEvent + description: 'The type of the event this job publishes' + - string: + name: PUBLISH_EVENT_ORIGIN + default: ODL + description: 'Originating community' + - string: + name: ARTIFACT_LOCATION + default: https://url/to/artifact/on/odl/nexus/$BUILD_NUMBER + description: 'The location of the artifact on ODL Nexus' + - string: + name: CONFIDENCE_LEVEL + default: "'autorelease': 'SUCCESS'" + description: 'The confidence level the published artifact gained' - 'opnfv-build-defaults' builders: - - shell: | - #!/bin/bash + - shell: + !include-raw-escape: ./create-ane.sh + - inject: + properties-file: "$WORKSPACE/event.properties" - echo "Will construct and publish an ArtifactPublishedEvent" + publishers: + - jms-messaging: + provider-name: openci.activemq + msg-type: Custom + msg-props: | + type=$type + origin=$origin + msg-content: + $eventBody # This job gets triggered by a ConfidenceLevelModifiedEvent published # by OPNFV jobs so ODL can promote the autorelease artifact even further. @@ -64,7 +90,7 @@ #!/bin/bash echo - echo "Triggered by an event" + echo "Triggered by $type" echo "----------------------------------" echo $CI_MESSAGE echo "----------------------------------" diff --git a/jjb/openci/openci-onap-daily-jobs.yaml b/jjb/openci/openci-onap-daily-jobs.yaml index 4640eb33d..524f78493 100644 --- a/jjb/openci/openci-onap-daily-jobs.yaml +++ b/jjb/openci/openci-onap-daily-jobs.yaml @@ -26,13 +26,39 @@ concurrent: false parameters: + - string: + name: PUBLISH_EVENT_TYPE + default: ArtifactPublishedEvent + description: 'The type of the event this job publishes' + - string: + name: PUBLISH_EVENT_ORIGIN + default: ONAP + description: 'Originating community' + - string: + name: ARTIFACT_LOCATION + default: https://url/to/artifact/on/onap/nexus/$BUILD_NUMBER + description: 'The location of the artifact on ONAP Nexus' + - string: + name: CONFIDENCE_LEVEL + default: "'autorelease': 'SUCCESS'" + description: 'The confidence level the published artifact gained' - 'opnfv-build-defaults' builders: - - shell: | - #!/bin/bash + - shell: + !include-raw-escape: ./create-ane.sh + - inject: + properties-file: "$WORKSPACE/event.properties" - echo "Will construct and publish an ArtifactPublishedEvent" + publishers: + - jms-messaging: + provider-name: openci.activemq + msg-type: Custom + msg-props: | + type=$type + origin=$origin + msg-content: + $eventBody # This job gets triggered by a ConfidenceLevelModifiedEvent published # by OPNFV jobs so ONAP can promote the autorelease artifact even further. @@ -64,7 +90,7 @@ #!/bin/bash echo - echo "Triggered by an event" + echo "Triggered by $type" echo "----------------------------------" echo $CI_MESSAGE echo "----------------------------------" -- cgit 1.2.3-korg