This change stops using JMS Messaging for publishing events
and switches to Python utility for publishing events created
by Yolanda.
Apart from switching to publisher, the filtering of events
is switched to selector instead of message fields due to issues
with the JSONPath.
These jobs will be used during ONS Europe session.
Issue-ID: CIMAN-161
Change-Id: I3f9822cd0cbdae58bf399fb1ce30048eda32ffae
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
set -o nounset
set -o pipefail
set -o nounset
set -o pipefail
+# workaround for https://github.com/pypa/virtualenv/issues/1029
+export PS1=${PS1:-}
+
# This script creates ArtifactPublishedEvent (APE)
# This script creates ArtifactPublishedEvent (APE)
-# 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 } }"
+git clone https://gitlab.openci.io/openci/prototypes.git
+cd prototypes/federated-cicd
+virtualenv openci_publish
+cd openci_publish
+source bin/activate
+python setup.py install
+
+# generate event body
+cat <<EOF > ./json_body.txt
+{
+ "type": "$PUBLISH_EVENT_TYPE",
+ "id": "$(uuidgen)",
+ "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)",
+ "buildUrl": "$BUILD_URL",
+ "branch": "master",
+ "origin": "$PUBLISH_EVENT_ORIGIN",
+ "artifactLocation": "$ARTIFACT_LOCATION",
+ "confidenceLevel": "$CONFIDENCE_LEVEL"
+}
+
+python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt
+
echo "Constructed $PUBLISH_EVENT_TYPE"
echo "--------------------------------------------"
echo "Constructed $PUBLISH_EVENT_TYPE"
echo "--------------------------------------------"
-cat $WORKSPACE/event.properties
echo "--------------------------------------------"
echo "--------------------------------------------"
description: 'The confidence level the published artifact gained'
builders:
description: 'The confidence level the published artifact gained'
builders:
- # first build step in the job executes create-ape.sh to construct the
- # ArtifactPublishedEvent (ape)
+ # this build step in the job executes create-ape.sh to construct the
+ # ArtifactPublishedEvent (ape) and publish it using the python utility
- shell:
!include-raw-escape: ./create-ape.sh
- shell:
!include-raw-escape: ./create-ape.sh
- # constructed event gets injected into environment so JME Messaging
- # plugin can publish the event and its properties in post-build step
- - inject:
- properties-file: "$WORKSPACE/event.properties"
-
- 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.
# This job gets triggered by a ConfidenceLevelModifiedEvent published
# by OPNFV jobs so ONAP can promote the autorelease artifact even further.
triggers:
- jms-messaging:
provider-name: openci.activemq
triggers:
- jms-messaging:
provider-name: openci.activemq
- selector: CI_TYPE = 'custom'
- checks:
- - field: origin
- expected-value: 'OPNFV'
- - field: type
- expected-value: 'ConfidenceLevelModifiedEvent'
- - field: scenario
- expected-value: 'k8-nosdn-onap'
+ selector: JMSType = 'ConfidenceLevelModifiedEvent' and JMSOrigin = 'OPNFV' and JMSScenario = 'k8-nosdn-onap-ha'