--- /dev/null
+import base64
+try:
+ import json
+except ImportError:
+ import simplejson as json
+
+def trigger_next(job_name, data):
+ print "====LOG:TRIGGER_NEXT:%s ========================================" %job_name.upper()
+ with open("%s.env" %job_name, 'w') as fh:
+ fh.write('TRIGGER_INFO=%s\n' % base64.b64encode(json.dumps(data)))
+ for key in data.keys():
+ print "%s='%s'" %(key, data[key])
+ print "====LOG:TRIGGER_NEXT:========================================end=="
+def trigger_info(TRIGGER_INFO):
+ print "====LOG:TRIGGER_INFO:========================================"
+ content_dict = json.loads(base64.b64decode(TRIGGER_INFO))
+ print json.dumps(content_dict, indent = 4)
+ print "====LOG:TRIGGER_INFO:========================================end=="
+ return content_dict
+++ /dev/null
-import base64
-try:
- import json
-except ImportError:
- import simplejson as json
-
-def write_to(filename, data):
- with open(filename, 'w') as fh:
- for key in data.keys():
- fh.write('CONTENT=%s\n' % base64.b64encode(json.dumps(data)))
- print 'write to %s to trigger downstream job' % filename
-
-def read_from(content):
- content_dict = json.loads(base64.b64decode(content))
- print json.dumps(content_dict, indent = 4)
- return content_dict
except ImportError:
import simplejson as json
-from common.triggerbuild import write_to
+from common.buildtrigger import trigger_next
from common.envparas import export
PARAM_LIST = ['AMQP_HOST',
if event_dict['fields'].has_key('obsEvent'):
event_type = event_dict['fields']['obsEvent']['type']
if 'OBS_SRCSRV_REQUEST' in event_type:
- write_to('%s.env' % requests_job, event_dict['fields']['obsEvent'])
+ trigger_next(requests_job, event_dict['fields']['obsEvent'])
elif 'OBS_REPO_PUBLISHED' in event_type:
event_prj = event_dict['fields']['obsEvent']['project']
if 'buildcheck' in event_prj:
- write_to('%s.env' % buildcheck_job, event_dict['fields']['obsEvent'])
+ trigger_next(buildcheck_job, event_dict['fields']['obsEvent'])
else:
- write_to('%s.env' % repomaker_job, event_dict['fields']['obsEvent'])
+ trigger_next(repomaker_job, event_dict['fields']['obsEvent'])
#elif 'OBS_BUILD' in event_type:
# event_prj = event_dict['fields']['obsEvent']['project']
# if 'buildcheck' in event_prj:
from common import git
from common import buildservice
from common.gerrit import Gerrit
+from common.buildtrigger import trigger_info, trigger_next
from common.send_mail import prepare_mail
from requests.mailer import mailer
import datetime
import codecs
-envparas = ['OBS_EVENT_STRING',
+envparas = ['TRIGGER_INFO',
'OBS_OSCRC_PATH',
'OBS_API_URL',
'SR_ENABLE_USER',
if status:
prepare_mail("%s.env" %(BUILD_TAG), status['subject'], status['body'], NOREPLY_EMAIL_SENDER, status['To'], status['Cc'])
-event = json.loads(' '.join(OBS_EVENT_STRING.split()))
-event_fields = event['fields']['obsEvent']
+event_fields = trigger_info(TRIGGER_INFO)
if not event_fields:
- print 'Invalid OBS event: %s' %(OBS_EVENT_STRING)
+ print 'Invalid OBS event'
sys.exit(-1)
data = OBS_Git_data(event_fields)
if event_fields['type'] == 'OBS_SRCSRV_REQUEST_STATECHANGE':
if event_fields['state'] == 'declined':
request_rejected(data, gerrit, gitprj)
+ trigger_next('reviewrepo_cleanup', data)
+
elif event_fields['type'] == 'OBS_SRCSRV_REQUEST_CREATE':
request_created(data, gerrit, gitprj)
+ trigger_next('pre_release_image', data)
+
elif event_fields['type'] == 'OBS_SRCSRV_REQUEST_ACCEPTED':
request_accepted(data, gerrit, gitprj)
+ trigger_next('reviewrepo_cleanup', data)