Add jenkins build tag into result api 71/10871/1
authorboucherv <valentin.boucher@orange.com>
Fri, 26 Feb 2016 14:40:54 +0000 (15:40 +0100)
committerboucherv <valentin.boucher@orange.com>
Fri, 26 Feb 2016 14:40:54 +0000 (15:40 +0100)
Ex: jenkins-functest-compass-intel-pod8-daily-master-19

Change-Id: I336d3908d6d67ba7f995d0fc25b5404efd9b5cf5
JIRA: FUNCTEST-140
Signed-off-by: boucherv <valentin.boucher@orange.com>
jjb/functest/functest-ci-jobs.yml
utils/test/result_collection_api/resources/handlers.py
utils/test/result_collection_api/resources/models.py

index 01e1885..ba5cfec 100644 (file)
             echo "Functest: Start Docker and prepare environment"
             envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \
                 -e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \
-                -e CI_DEBUG=${CI_DEBUG}"
+                -e BUILD_TAG=${BUILD_TAG} -e CI_DEBUG=${CI_DEBUG}"
             branch=${GIT_BRANCH##*/}
             dir_result="${HOME}/opnfv/functest/results/${branch}"
             mkdir -p ${dir_result}
index 6443fc4..1f4d0bb 100644 (file)
@@ -508,6 +508,7 @@ class TestResultsHandler(GenericApiHandler):
          - pod : pod name
          - version : platform version (Arno-R1, ...)
          - installer (fuel, ...)
+         - build_tag : Jenkins build tag name
          - period : x (x last days)
 
 
@@ -524,6 +525,7 @@ class TestResultsHandler(GenericApiHandler):
         pod_arg = self.get_query_argument("pod", None)
         version_arg = self.get_query_argument("version", None)
         installer_arg = self.get_query_argument("installer", None)
+        build_tag_arg = self.get_query_argument("build_tag", None)
         period_arg = self.get_query_argument("period", None)
 
         # prepare request
@@ -544,6 +546,9 @@ class TestResultsHandler(GenericApiHandler):
             if installer_arg is not None:
                 get_request["installer"] = installer_arg
 
+            if build_tag_arg is not None:
+                get_request["build_tag"] = build_tag_arg
+
             if period_arg is not None:
                 try:
                     period_arg = int(period_arg)
index a15d4e3..8f75222 100644 (file)
-##############################################################################
-# Copyright (c) 2015 Orange
-# guyrodrigue.koffi@orange.com / koffirodrigue@gmail.com
-# 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
-##############################################################################
-
-
-class Pod:
-    """ describes a POD platform """
-    def __init__(self):
-        self._id = ""
-        self.name = ""
-        self.creation_date = ""
-        self.mode = ""
-        self.details = ""
-
-    @staticmethod
-    def pod_from_dict(pod_dict):
-        if pod_dict is None:
-            return None
-
-        p = Pod()
-        p._id = pod_dict.get('_id')
-        p.creation_date = str(pod_dict.get('creation_date'))
-        p.name = pod_dict.get('name')
-        p.mode = pod_dict.get('mode')
-        p.details = pod_dict.get('details')
-        return p
-
-    def format(self):
-        return {
-            "name": self.name,
-            "mode": self.mode,
-            "details": self.details,
-            "creation_date": str(self.creation_date),
-        }
-
-    def format_http(self):
-        return {
-            "_id": str(self._id),
-            "name": self.name,
-            "mode": self.mode,
-            "details": self.details,
-            "creation_date": str(self.creation_date),
-        }
-
-
-class TestProject:
-    """ Describes a test project"""
-
-    def __init__(self):
-        self._id = None
-        self.name = None
-        self.description = None
-        self.creation_date = None
-
-    @staticmethod
-    def testproject_from_dict(testproject_dict):
-
-        if testproject_dict is None:
-            return None
-
-        t = TestProject()
-        t._id = testproject_dict.get('_id')
-        t.creation_date = testproject_dict.get('creation_date')
-        t.name = testproject_dict.get('name')
-        t.description = testproject_dict.get('description')
-
-        return t
-
-    def format(self):
-        return {
-            "name": self.name,
-            "description": self.description,
-            "creation_date": str(self.creation_date)
-        }
-
-    def format_http(self, test_cases=0):
-        return {
-            "_id": str(self._id),
-            "name": self.name,
-            "description": self.description,
-            "creation_date": str(self.creation_date),
-        }
-
-
-class TestCase:
-    """ Describes a test case"""
-
-    def __init__(self):
-        self._id = None
-        self.name = None
-        self.project_name = None
-        self.description = None
-        self.url = None
-        self.creation_date = None
-
-    @staticmethod
-    def test_case_from_dict(testcase_dict):
-
-        if testcase_dict is None:
-            return None
-
-        t = TestCase()
-        t._id = testcase_dict.get('_id')
-        t.project_name = testcase_dict.get('project_name')
-        t.creation_date = testcase_dict.get('creation_date')
-        t.name = testcase_dict.get('name')
-        t.description = testcase_dict.get('description')
-        t.url = testcase_dict.get('url')
-
-        return t
-
-    def format(self):
-        return {
-            "name": self.name,
-            "description": self.description,
-            "project_name": self.project_name,
-            "creation_date": str(self.creation_date),
-            "url": self.url
-        }
-
-    def format_http(self, test_project=None):
-        res = {
-            "_id": str(self._id),
-            "name": self.name,
-            "description": self.description,
-            "creation_date": str(self.creation_date),
-            "url": self.url,
-        }
-        if test_project is not None:
-            res["test_project"] = test_project
-
-        return res
-
-
-class TestResult:
-    """ Describes a test result"""
-
-    def __init__(self):
-        self._id = None
-        self.case_name = None
-        self.project_name = None
-        self.pod_name = None
-        self.installer = None
-        self.version = None
-        self.description = None
-        self.creation_date = None
-        self.details = None
-
-    @staticmethod
-    def test_result_from_dict(test_result_dict):
-
-        if test_result_dict is None:
-            return None
-
-        t = TestResult()
-        t._id = test_result_dict.get('_id')
-        t.case_name = test_result_dict.get('case_name')
-        t.pod_name = test_result_dict.get('pod_name')
-        t.project_name = test_result_dict.get('project_name')
-        t.description = test_result_dict.get('description')
-        t.creation_date = str(test_result_dict.get('creation_date'))
-        t.details = test_result_dict.get('details')
-        t.version = test_result_dict.get('version')
-        t.installer = test_result_dict.get('installer')
-
-        return t
-
-    def format(self):
-        return {
-            "case_name": self.case_name,
-            "project_name": self.project_name,
-            "pod_name": self.pod_name,
-            "description": self.description,
-            "creation_date": str(self.creation_date),
-            "version": self.version,
-            "installer": self.installer,
-            "details": self.details,
-        }
-
-    def format_http(self):
-        return {
-            "_id": str(self._id),
-            "case_name": self.case_name,
-            "project_name": self.project_name,
-            "pod_name": self.pod_name,
-            "description": self.description,
-            "creation_date": str(self.creation_date),
-            "version": self.version,
-            "installer": self.installer,
-            "details": self.details,
-        }
+##############################################################################\r
+# Copyright (c) 2015 Orange\r
+# guyrodrigue.koffi@orange.com / koffirodrigue@gmail.com\r
+# All rights reserved. This program and the accompanying materials\r
+# are made available under the terms of the Apache License, Version 2.0\r
+# which accompanies this distribution, and is available at\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+##############################################################################\r
+\r
+\r
+class Pod:\r
+    """ describes a POD platform """\r
+    def __init__(self):\r
+        self._id = ""\r
+        self.name = ""\r
+        self.creation_date = ""\r
+        self.mode = ""\r
+        self.details = ""\r
+\r
+    @staticmethod\r
+    def pod_from_dict(pod_dict):\r
+        if pod_dict is None:\r
+            return None\r
+\r
+        p = Pod()\r
+        p._id = pod_dict.get('_id')\r
+        p.creation_date = str(pod_dict.get('creation_date'))\r
+        p.name = pod_dict.get('name')\r
+        p.mode = pod_dict.get('mode')\r
+        p.details = pod_dict.get('details')\r
+        return p\r
+\r
+    def format(self):\r
+        return {\r
+            "name": self.name,\r
+            "mode": self.mode,\r
+            "details": self.details,\r
+            "creation_date": str(self.creation_date),\r
+        }\r
+\r
+    def format_http(self):\r
+        return {\r
+            "_id": str(self._id),\r
+            "name": self.name,\r
+            "mode": self.mode,\r
+            "details": self.details,\r
+            "creation_date": str(self.creation_date),\r
+        }\r
+\r
+\r
+class TestProject:\r
+    """ Describes a test project"""\r
+\r
+    def __init__(self):\r
+        self._id = None\r
+        self.name = None\r
+        self.description = None\r
+        self.creation_date = None\r
+\r
+    @staticmethod\r
+    def testproject_from_dict(testproject_dict):\r
+\r
+        if testproject_dict is None:\r
+            return None\r
+\r
+        t = TestProject()\r
+        t._id = testproject_dict.get('_id')\r
+        t.creation_date = testproject_dict.get('creation_date')\r
+        t.name = testproject_dict.get('name')\r
+        t.description = testproject_dict.get('description')\r
+\r
+        return t\r
+\r
+    def format(self):\r
+        return {\r
+            "name": self.name,\r
+            "description": self.description,\r
+            "creation_date": str(self.creation_date)\r
+        }\r
+\r
+    def format_http(self, test_cases=0):\r
+        return {\r
+            "_id": str(self._id),\r
+            "name": self.name,\r
+            "description": self.description,\r
+            "creation_date": str(self.creation_date),\r
+        }\r
+\r
+\r
+class TestCase:\r
+    """ Describes a test case"""\r
+\r
+    def __init__(self):\r
+        self._id = None\r
+        self.name = None\r
+        self.project_name = None\r
+        self.description = None\r
+        self.url = None\r
+        self.creation_date = None\r
+\r
+    @staticmethod\r
+    def test_case_from_dict(testcase_dict):\r
+\r
+        if testcase_dict is None:\r
+            return None\r
+\r
+        t = TestCase()\r
+        t._id = testcase_dict.get('_id')\r
+        t.project_name = testcase_dict.get('project_name')\r
+        t.creation_date = testcase_dict.get('creation_date')\r
+        t.name = testcase_dict.get('name')\r
+        t.description = testcase_dict.get('description')\r
+        t.url = testcase_dict.get('url')\r
+\r
+        return t\r
+\r
+    def format(self):\r
+        return {\r
+            "name": self.name,\r
+            "description": self.description,\r
+            "project_name": self.project_name,\r
+            "creation_date": str(self.creation_date),\r
+            "url": self.url\r
+        }\r
+\r
+    def format_http(self, test_project=None):\r
+        res = {\r
+            "_id": str(self._id),\r
+            "name": self.name,\r
+            "description": self.description,\r
+            "creation_date": str(self.creation_date),\r
+            "url": self.url,\r
+        }\r
+        if test_project is not None:\r
+            res["test_project"] = test_project\r
+\r
+        return res\r
+\r
+\r
+class TestResult:\r
+    """ Describes a test result"""\r
+\r
+    def __init__(self):\r
+        self._id = None\r
+        self.case_name = None\r
+        self.project_name = None\r
+        self.pod_name = None\r
+        self.installer = None\r
+        self.version = None\r
+        self.description = None\r
+        self.creation_date = None\r
+        self.details = None\r
+        self.build_tag = None\r
+\r
+    @staticmethod\r
+    def test_result_from_dict(test_result_dict):\r
+\r
+        if test_result_dict is None:\r
+            return None\r
+\r
+        t = TestResult()\r
+        t._id = test_result_dict.get('_id')\r
+        t.case_name = test_result_dict.get('case_name')\r
+        t.pod_name = test_result_dict.get('pod_name')\r
+        t.project_name = test_result_dict.get('project_name')\r
+        t.description = test_result_dict.get('description')\r
+        t.creation_date = str(test_result_dict.get('creation_date'))\r
+        t.details = test_result_dict.get('details')\r
+        t.version = test_result_dict.get('version')\r
+        t.build_tag = test_result_dict.get('build_tag')\r
+\r
+        return t\r
+\r
+    def format(self):\r
+        return {\r
+            "case_name": self.case_name,\r
+            "project_name": self.project_name,\r
+            "pod_name": self.pod_name,\r
+            "description": self.description,\r
+            "creation_date": str(self.creation_date),\r
+            "version": self.version,\r
+            "installer": self.installer,\r
+            "details": self.details,\r
+            "build_tag": self.build_tag\r
+        }\r
+\r
+    def format_http(self):\r
+        return {\r
+            "_id": str(self._id),\r
+            "case_name": self.case_name,\r
+            "project_name": self.project_name,\r
+            "pod_name": self.pod_name,\r
+            "description": self.description,\r
+            "creation_date": str(self.creation_date),\r
+            "version": self.version,\r
+            "installer": self.installer,\r
+            "details": self.details,\r
+            "build_tag": self.build_tag\r
+        }\r
+\r