From 24e407edcb2573e976d0277d646b776505e268d5 Mon Sep 17 00:00:00 2001 From: ZhuoX Li Date: Wed, 3 Sep 2014 16:44:40 +0800 Subject: [PATCH] Publish "submitted" event to IRIS. Add a new function publish_event() in IrisRestClient class. Use this function to publish "submitted" event when a submission tag is just received. Change-Id: I2a23b6b221e79dcb6b99bc78fd0126516407fae4 --- common/iris_rest_client.py | 6 ++++++ job_submit.py | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/common/iris_rest_client.py b/common/iris_rest_client.py index 76bdeda..73036ba 100644 --- a/common/iris_rest_client.py +++ b/common/iris_rest_client.py @@ -58,3 +58,9 @@ class IrisRestClient(object): with open(domain_file, 'rb') as domains, open(gittree_file, 'rb') as gittrees: files = (('domains', domains), ('gittrees', gittrees)) return self._post('app/packagedb/scm/check/', files=files) + + def publish_event(self, data): + """ + Publish submissions related events to IRIS server + """ + return self._post('api/submissions/events/', data=data) diff --git a/job_submit.py b/job_submit.py index 5f9f70e..8517e65 100755 --- a/job_submit.py +++ b/job_submit.py @@ -8,6 +8,7 @@ This job is triggered by Gerrit RefUpdate event. import os import sys import json +import base64 from xml.sax.saxutils import escape from gitbuildsys.errors import ObsError @@ -19,6 +20,8 @@ from common.gerrit import is_ref_deleted from common.buildservice import BuildService from common.backenddb import BackendDB from common.prerelease import get_prerelease_project_name, prerelease_enabled +from common.iris_rest_client import IrisRestClient + class LocalError(Exception): """Local error exception.""" @@ -116,6 +119,22 @@ def main(build_type): git_branch = git_tag.split('/')[1] if git_branch == 'trunk': git_branch = 'master' + + if os.getenv("IRIS_PUB_ENABLED", "0") != "0": + rest = IrisRestClient( + os.getenv("IRIS_SERVER"), + os.getenv("IRIS_USERNAME"), + base64.b64decode(os.getenv('IRIS_PASSWORDX',''))) + rest.publish_event({ + "event": "submitted", + "branch": git_branch, + "commit_id": gerrit_newrev, + "gitpath": gerrit_project, + "submitter": gerrit_account_name, + "submitter_email": gerrit_account_email, + "tag": git_tag, + }) + # get list of target projects from git-obs-mapping obs_target_prjs = git_obs_map(os.getenv("GERRIT_PROJECT"), git_branch) build = BuildService(obs_api, obs_user, obs_passwd) -- 2.7.4