diff --git a/ci-scripts/html.py b/ci-scripts/html.py
index 15acafd2ed93d8cfc4566297960ff3f20db342cb..978b13553e0dbaa47e26379886065ce883734df2 100644
--- a/ci-scripts/html.py
+++ b/ci-scripts/html.py
@@ -49,23 +49,33 @@ class HTMLManagement():
 		self.htmlFile = ''
 		self.htmlHeaderCreated = False
 		self.htmlFooterCreated = False
+
+		self.ranRepository = ''
+		self.ranBranch = ''
+		self.ranCommitID = ''
 		self.ranAllowMerge = False
+		self.ranTargetBranch = ''
+
 		self.nbTestXMLfiles = 0
 		self.htmlTabRefs = []
 		self.htmlTabNames = []
 		self.htmlTabIcons = []
 		self.testXMLfiles = []
+
 		self.htmleNBFailureMsg = ''
 		self.htmlUEFailureMsg = ''
 
+		self.startTime = int(round(time.time() * 1000))
+		self.testCase_id = ''
+		self.desc = ''
+
 #-----------------------------------------------------------
 # Setters and Getters
 #-----------------------------------------------------------
 	def SethtmlUEFailureMsg(self,huefa):
                 self.htmlUEFailureMsg = huefa
 	def GethtmlUEFailureMsg(self):
-		return huefa
-
+		return self.htmlUEFailureMsg
 
 	def SetreseNB(self,rsenb):
 		self.reseNB = rsenb
@@ -386,76 +396,76 @@ class HTMLManagement():
 			self.htmlFile.close()
 
 	def CreateHtmlTestRow(self, options, status, processesStatus, machine='eNB'):
-		if ((not self.htmlFooterCreated) and (self.htmlHeaderCreated)):
-			self.htmlFile = open('test_results.html', 'a')
-			currentTime = int(round(time.time() * 1000)) - self.startTime
-			self.htmlFile.write('      <tr>\n')
-			self.htmlFile.write('        <td bgcolor = "lightcyan" >' + format(currentTime / 1000, '.1f') + '</td>\n')
-			self.htmlFile.write('        <td bgcolor = "lightcyan" >' + self.testCase_id  + '</td>\n')
-			self.htmlFile.write('        <td>' + self.desc  + '</td>\n')
-			self.htmlFile.write('        <td>' + str(options)  + '</td>\n')
-			if (str(status) == 'OK'):
-				self.htmlFile.write('        <td bgcolor = "lightgreen" >' + str(status)  + '</td>\n')
-			elif (str(status) == 'KO'):
-				if (processesStatus == 0):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >' + str(status)  + '</td>\n')
-				elif (processesStatus == ENB_PROCESS_FAILED):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - eNB process not found</td>\n')
-				elif (processesStatus == OAI_UE_PROCESS_FAILED):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - OAI UE process not found</td>\n')
-				elif (processesStatus == ENB_PROCESS_SEG_FAULT) or (processesStatus == OAI_UE_PROCESS_SEG_FAULT):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - ' + machine + ' process ended in Segmentation Fault</td>\n')
-				elif (processesStatus == ENB_PROCESS_ASSERTION) or (processesStatus == OAI_UE_PROCESS_ASSERTION):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - ' + machine + ' process ended in Assertion</td>\n')
-				elif (processesStatus == ENB_PROCESS_REALTIME_ISSUE):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - ' + machine + ' process faced Real Time issue(s)</td>\n')
-				elif (processesStatus == ENB_PROCESS_NOLOGFILE_TO_ANALYZE) or (processesStatus == OAI_UE_PROCESS_NOLOGFILE_TO_ANALYZE):
-					self.htmlFile.write('        <td bgcolor = "orange" >OK?</td>\n')
-				elif (processesStatus == ENB_PROCESS_SLAVE_RRU_NOT_SYNCED):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - ' + machine + ' Slave RRU could not synch</td>\n')
-				elif (processesStatus == OAI_UE_PROCESS_COULD_NOT_SYNC):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - UE could not sync</td>\n')
-				elif (processesStatus == HSS_PROCESS_FAILED):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - HSS process not found</td>\n')
-				elif (processesStatus == MME_PROCESS_FAILED):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - MME process not found</td>\n')
-				elif (processesStatus == SPGW_PROCESS_FAILED):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - SPGW process not found</td>\n')
-				elif (processesStatus == UE_IP_ADDRESS_ISSUE):
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - Could not retrieve UE IP address</td>\n')
-				else:
-					self.htmlFile.write('        <td bgcolor = "lightcoral" >' + str(status)  + '</td>\n')
+		print ('RD: calling CreateHtmlTestRow')
+		self.htmlFile = open('test_results.html', 'a')
+		currentTime = int(round(time.time() * 1000)) - self.startTime
+		self.htmlFile.write('      <tr>\n')
+		self.htmlFile.write('        <td bgcolor = "lightcyan" >' + format(currentTime / 1000, '.1f') + '</td>\n')
+		self.htmlFile.write('        <td bgcolor = "lightcyan" >' + self.testCase_id  + '</td>\n')
+		self.htmlFile.write('        <td>' + self.desc  + '</td>\n')
+		self.htmlFile.write('        <td>' + str(options)  + '</td>\n')
+		if (str(status) == 'OK'):
+			self.htmlFile.write('        <td bgcolor = "lightgreen" >' + str(status)  + '</td>\n')
+		elif (str(status) == 'KO'):
+			if (processesStatus == 0):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >' + str(status)  + '</td>\n')
+			elif (processesStatus == ENB_PROCESS_FAILED):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - eNB process not found</td>\n')
+			elif (processesStatus == OAI_UE_PROCESS_FAILED):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - OAI UE process not found</td>\n')
+			elif (processesStatus == ENB_PROCESS_SEG_FAULT) or (processesStatus == OAI_UE_PROCESS_SEG_FAULT):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - ' + machine + ' process ended in Segmentation Fault</td>\n')
+			elif (processesStatus == ENB_PROCESS_ASSERTION) or (processesStatus == OAI_UE_PROCESS_ASSERTION):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - ' + machine + ' process ended in Assertion</td>\n')
+			elif (processesStatus == ENB_PROCESS_REALTIME_ISSUE):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - ' + machine + ' process faced Real Time issue(s)</td>\n')
+			elif (processesStatus == ENB_PROCESS_NOLOGFILE_TO_ANALYZE) or (processesStatus == OAI_UE_PROCESS_NOLOGFILE_TO_ANALYZE):
+				self.htmlFile.write('        <td bgcolor = "orange" >OK?</td>\n')
+			elif (processesStatus == ENB_PROCESS_SLAVE_RRU_NOT_SYNCED):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - ' + machine + ' Slave RRU could not synch</td>\n')
+			elif (processesStatus == OAI_UE_PROCESS_COULD_NOT_SYNC):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - UE could not sync</td>\n')
+			elif (processesStatus == HSS_PROCESS_FAILED):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - HSS process not found</td>\n')
+			elif (processesStatus == MME_PROCESS_FAILED):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - MME process not found</td>\n')
+			elif (processesStatus == SPGW_PROCESS_FAILED):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - SPGW process not found</td>\n')
+			elif (processesStatus == UE_IP_ADDRESS_ISSUE):
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >KO - Could not retrieve UE IP address</td>\n')
 			else:
-				self.htmlFile.write('        <td bgcolor = "orange" >' + str(status)  + '</td>\n')
-			if (len(str(self.htmleNBFailureMsg)) > 2):
-				cellBgColor = 'white'
-				result = re.search('ended with|faced real time issues', self.htmleNBFailureMsg)
-				if result is not None:
-					cellBgColor = 'red'
-				else:
-					result = re.search('showed|Reestablishment|Could not copy eNB logfile', self.htmleNBFailureMsg)
-					if result is not None:
-						cellBgColor = 'orange'
-				self.htmlFile.write('        <td bgcolor = "' + cellBgColor + '" colspan=' + str(self.htmlUEConnected) + '><pre style="background-color:' + cellBgColor + '">' + self.htmleNBFailureMsg + '</pre></td>\n')
-				self.htmleNBFailureMsg = ''
-			elif (len(str(self.htmlUEFailureMsg)) > 2):
-				cellBgColor = 'white'
-				result = re.search('ended with|faced real time issues', self.htmlUEFailureMsg)
+				self.htmlFile.write('        <td bgcolor = "lightcoral" >' + str(status)  + '</td>\n')
+		else:
+			self.htmlFile.write('        <td bgcolor = "orange" >' + str(status)  + '</td>\n')
+		if (len(str(self.htmleNBFailureMsg)) > 2):
+			cellBgColor = 'white'
+			result = re.search('ended with|faced real time issues', self.htmleNBFailureMsg)
+			if result is not None:
+				cellBgColor = 'red'
+			else:
+				result = re.search('showed|Reestablishment|Could not copy eNB logfile', self.htmleNBFailureMsg)
 				if result is not None:
-					cellBgColor = 'red'
-				else:
-					result = re.search('showed|Could not copy UE logfile|oaitun_ue1 interface is either NOT mounted or NOT configured', self.htmlUEFailureMsg)
-					if result is not None:
-						cellBgColor = 'orange'
-				self.htmlFile.write('        <td bgcolor = "' + cellBgColor + '" colspan=' + str(self.htmlUEConnected) + '><pre style="background-color:' + cellBgColor + '">' + self.htmlUEFailureMsg + '</pre></td>\n')
-				self.htmlUEFailureMsg = ''
+					cellBgColor = 'orange'
+			self.htmlFile.write('        <td bgcolor = "' + cellBgColor + '" colspan=' + str(self.htmlUEConnected) + '><pre style="background-color:' + cellBgColor + '">' + self.htmleNBFailureMsg + '</pre></td>\n')
+			self.htmleNBFailureMsg = ''
+		elif (len(str(self.htmlUEFailureMsg)) > 2):
+			cellBgColor = 'white'
+			result = re.search('ended with|faced real time issues', self.htmlUEFailureMsg)
+			if result is not None:
+				cellBgColor = 'red'
 			else:
-				i = 0
-				while (i < self.htmlUEConnected):
-					self.htmlFile.write('        <td>-</td>\n')
-					i += 1
-			self.htmlFile.write('      </tr>\n')
-			self.htmlFile.close()
+				result = re.search('showed|Could not copy UE logfile|oaitun_ue1 interface is either NOT mounted or NOT configured', self.htmlUEFailureMsg)
+				if result is not None:
+					cellBgColor = 'orange'
+			self.htmlFile.write('        <td bgcolor = "' + cellBgColor + '" colspan=' + str(self.htmlUEConnected) + '><pre style="background-color:' + cellBgColor + '">' + self.htmlUEFailureMsg + '</pre></td>\n')
+			self.htmlUEFailureMsg = ''
+		else:
+			i = 0
+			while (i < self.htmlUEConnected):
+				self.htmlFile.write('        <td>-</td>\n')
+				i += 1
+		self.htmlFile.write('      </tr>\n')
+		self.htmlFile.close()
 
 	def CreateHtmlTestRowQueue(self, options, status, ue_status, ue_queue):
 		if ((not self.htmlFooterCreated) and (self.htmlHeaderCreated)):
diff --git a/ci-scripts/main.py b/ci-scripts/main.py
index 5f7257a6a593f3cd5728c45a2080df00b864fa1f..0c3905db2f56f5d738e77b5af099cf852c473b11 100644
--- a/ci-scripts/main.py
+++ b/ci-scripts/main.py
@@ -760,7 +760,6 @@ class OaiCiTest():
 				else:
 					SSH.command('ssh ' + self.UEDevicesRemoteUser[idx] + '@' + self.UEDevicesRemoteServer[idx] + ' \'adb -s ' + device_id + ' shell "dumpsys telephony.registry"\' | grep -m 1 mDataConnectionState', '\$', 60)
 				result = re.search('mDataConnectionState.*=(?P<state>[0-9\-]+)', SSH.getBefore())
-				print(SSH.getBefore()) #GP debugging
 				if result is None:
 					logging.debug('\u001B[1;37;41m mDataConnectionState Not Found! \u001B[0m')
 					lock.acquire()
@@ -1069,12 +1068,10 @@ class OaiCiTest():
 					phone_list_file.close()
 
 		if terminate_ue_flag == True:
-			print('terminate_ue_flag == True')
 			if len(self.UEDevices) == 0:
 				logging.debug('\u001B[1;37;41m UE Not Found! \u001B[0m')
 				sys.exit(1)
 		if len(self.UEDevicesStatus) == 0:
-			print('len(self.UEDevicesStatus) == 0')
 			cnt = 0
 			while cnt < len(self.UEDevices):
 				self.UEDevicesStatus.append(CONST.UE_STATUS_DETACHED)
@@ -3250,6 +3247,7 @@ while len(argvs) > 1:
 		else:
 			matchReg = re.match('^\-\-ranTargetBranch=(.*)$', myArgv, re.IGNORECASE)
 		RAN.SetranTargetBranch(matchReg.group(1))
+		HTML.SetranTargetBranch(matchReg.group(1))
 	elif re.match('^\-\-eNBIPAddress=(.+)$|^\-\-eNB[1-2]IPAddress=(.+)$', myArgv, re.IGNORECASE):
 		if re.match('^\-\-eNBIPAddress=(.+)$', myArgv, re.IGNORECASE):
 			matchReg = re.match('^\-\-eNBIPAddress=(.+)$', myArgv, re.IGNORECASE)
@@ -3447,7 +3445,7 @@ elif re.match('^InitiateHtml$', mode, re.IGNORECASE):
 				print("Error while parsing file: " + xml_test_file)
 			xmlRoot = xmlTree.getroot()
 			HTML.SethtmlTabRefs(xmlRoot.findtext('htmlTabRef',default='test-tab-' + str(count)))
-			HTML.SethtmlTabNames(xmlRoot.findtext('htmlTabRef',default='test-tab-' + str(count)))
+			HTML.SethtmlTabNames(xmlRoot.findtext('htmlTabName',default='test-tab-' + str(count)))
 			HTML.SethtmlTabIcons(xmlRoot.findtext('htmlTabIcon',default='info-sign'))
 			#CiTestObj.htmlTabRefs.append(xmlRoot.findtext('htmlTabRef',default='test-tab-' + str(count)))
 			#CiTestObj.htmlTabNames.append(xmlRoot.findtext('htmlTabName',default='Test-' + str(count)))
diff --git a/ci-scripts/ran.py b/ci-scripts/ran.py
index e7f27f7bc6e709071fee8bfbace2d4bb8cddb3e2..e390b6aecbae8499ff1d66f7b9936b58a36c7309 100644
--- a/ci-scripts/ran.py
+++ b/ci-scripts/ran.py
@@ -386,6 +386,7 @@ class RANManagement():
 
 	def checkBuildeNB(self, lIpAddr, lUserName, lPassWord, lSourcePath, testcaseId):
 		myHTML = HTML.HTMLManagement()
+		myHTML.SettestCase_id(testcaseId)
 		mySSH = SSH.SSHConnection()
 		mySSH.open(lIpAddr, lUserName, lPassWord)
 		mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 3)