diff --git a/TestON/JenkinsFile/FabricJenkinsfileTrigger b/TestON/JenkinsFile/FabricJenkinsfileTrigger
index 139c72e..f5a7dc2 100644
--- a/TestON/JenkinsFile/FabricJenkinsfileTrigger
+++ b/TestON/JenkinsFile/FabricJenkinsfileTrigger
@@ -30,7 +30,7 @@
 
 // set the versions of the onos.
 current_version = "master"
-previous_version = "1.13"
+previous_version = "1.15"
 before_previous_version = "1.14"
 
 // Function that will initialize the configuration of the Fabric.
diff --git a/TestON/JenkinsFile/README b/TestON/JenkinsFile/README
index 2c24fd6..1e837e4 100644
--- a/TestON/JenkinsFile/README
+++ b/TestON/JenkinsFile/README
@@ -11,8 +11,8 @@
   1) go to VM_BMJenkinsfileTrigger
   2) change the portion on line 31 :
      current_version = "master"
-     previous_version = "1.13"
-     before_previous_version = "1.12"
+     previous_version = "1.15"
+     before_previous_version = "1.14"
 
 
 2. If you want to change the branch to be run for the Segment Routing tests :
@@ -20,19 +20,19 @@
   1) go to the FabricJenkinsfileTrigger
   2) change the variable values on line 32:
      current_version = "master"
-     previous_version = "1.13"
-     before_previous_version = "1.12"
+     previous_version = "1.15"
+     before_previous_version = "1.14"
   3) If you want certain branch to be run on different machine then change
      a) line 155 - 157:
         testcases[ "SR" ][ "nodeName" ][ <node you want> ] 0: Fabric2, 1: Fabric3, 2: Fabric4
      b) Then, go to dependencies/JenkinsCommonFuncs.groovy
         change def fabricOn( branch ) on line 86.
-        Currently, master, 1.13 and 1.12 run on Fabric4, 2 and 3 respectively.
-     c) Make sure to change the URLs on Wiki as well. If 1.12 runs on Fabric2 instead of Fabric3, then you
+        Currently, master, 1.15 and 1.14 run on Fabric4, 2 and 3 respectively.
+     c) Make sure to change the URLs on Wiki as well. If 1.14 runs on Fabric2 instead of Fabric3, then you
         have to update the URL from
-          https://jenkins.onosproject.org/view/QA/job/postjob-Fabric3/lastSuccessfulBuild/artifact/SRBridging_onos-1.12_20-builds_graph.jpg
+          https://jenkins.onosproject.org/view/QA/job/postjob-Fabric3/lastSuccessfulBuild/artifact/SRBridging_onos-1.14_20-builds_graph.jpg
           to
-          https://jenkins.onosproject.org/view/QA/job/postjob-Fabric2/lastSuccessfulBuild/artifact/SRBridging_onos-1.12_20-builds_graph.jpg
+          https://jenkins.onosproject.org/view/QA/job/postjob-Fabric2/lastSuccessfulBuild/artifact/SRBridging_onos-1.14_20-builds_graph.jpg
 
 
 3. If you want to upload additional logs for the Segment Routing tests:
diff --git a/TestON/JenkinsFile/SRHAJenkinsFile b/TestON/JenkinsFile/SRHAJenkinsFile
index 83fa007..b13290f 100644
--- a/TestON/JenkinsFile/SRHAJenkinsFile
+++ b/TestON/JenkinsFile/SRHAJenkinsFile
@@ -36,7 +36,7 @@
 jobName = env.JOB_NAME
 
 // read the TestON.property depends on which branch it is running.
-// ( currently master on Fabric4, 1.13 on Fabric2 and 1.12 on Fabric3 )
+// ( currently master on Fabric4, 1.15 on Fabric2 and 1.14 on Fabric3 )
 def prop = null
 prop = funcs.getProperties()
 SRHA = test_lists.getAllTheTests( prop[ "WikiPrefix" ] )[ "SRHA" ]
diff --git a/TestON/JenkinsFile/SRJenkinsFile b/TestON/JenkinsFile/SRJenkinsFile
index c562640..30fba24 100644
--- a/TestON/JenkinsFile/SRJenkinsFile
+++ b/TestON/JenkinsFile/SRJenkinsFile
@@ -36,7 +36,7 @@
 funcs.additionalInitForSR( jobName )
 
 // read the TestON.property depends on which branch it is running.
-// ( currently master on Fabric4, 1.13 on Fabric2 and 1.12 on Fabric3 )
+// ( currently master on Fabric4, 1.15 on Fabric2 and 1.14 on Fabric3 )
 def prop = null
 prop = funcs.getProperties()
 SR = test_lists.getAllTheTests( prop[ "WikiPrefix" ] )[ "SR" ]
diff --git a/TestON/JenkinsFile/VM_BMJenkinsfileTrigger b/TestON/JenkinsFile/VM_BMJenkinsfileTrigger
index 5ba4055..f2e8bc9 100644
--- a/TestON/JenkinsFile/VM_BMJenkinsfileTrigger
+++ b/TestON/JenkinsFile/VM_BMJenkinsfileTrigger
@@ -29,8 +29,8 @@
 // set the versions of the onos
 fileRelated.init()
 current_version = "master"
-previous_version = "1.14"
-before_previous_version = "1.13"
+previous_version = "1.15"
+before_previous_version = "1.14"
 
 // init trend graphs to be on VM.
 funcs.initializeTrend( "VM" );
diff --git a/TestON/JenkinsFile/dependencies/JenkinsCommonFuncs.groovy b/TestON/JenkinsFile/dependencies/JenkinsCommonFuncs.groovy
index c205778..0a37eac 100644
--- a/TestON/JenkinsFile/dependencies/JenkinsCommonFuncs.groovy
+++ b/TestON/JenkinsFile/dependencies/JenkinsCommonFuncs.groovy
@@ -83,7 +83,7 @@
 
 def additionalInitForSR( branch ){
     // additional setup for SegmentRouting tests to determine the machine depends on the branch it is running.
-    // branch : branch of the onos. ( master, 1.12, 1.13... )
+    // branch : branch of the onos. ( master, 1.15, 1.14... )
 
     testMachine = ( ( new StringBuilder( testMachine ) ).insert( testMachine.size() - 1, fabricOn( branch ) ) ).
             toString()
@@ -98,12 +98,13 @@
 
 def fabricOn( branch ){
     // gets the fabric machines with the branch of onos.
-    // branch : master, 1.12, 1.13...
+    // branch : master, 1.15, 1.14...
     // branch.reverse().take(4).reverse() will get last 4 characters of the string.
     switch ( branch.reverse().take( 4 ).reverse() ){
         case "ster": return "4"
-        case "1.13": return "2"
+        case "1.15": return "2"
         case "1.14": return "3"
+        case "1.13": return "2"
         case "1.12": return "3"
         default: return "4"
     }
@@ -293,7 +294,7 @@
 def postLogs( testName, prefix ){
     // posting logs of the onos jobs specifically SR tests
     // testName : name of the test
-    // prefix : branch prefix ( master, 1.12, 1.13 ... )
+    // prefix : branch prefix ( master, 1.15, 1.14 ... )
 
     resultURL = ""
     if ( testType == "SR" ){
@@ -462,7 +463,7 @@
     // stat_file : file name with full path for Rscript for the stat graph
     // pie_file : file name with full path for Rscript for the pie graph
     // type : type of the test ( USECASE, FUNC, HA )
-    // branch : branch of the test ( master, onos-1.12, onos-1.13 )
+    // branch : branch of the test ( master, onos-1.15, onos-1.14 )
     // testListPart : list of the test to be included
     // save_path : path that will save the graphs to
     // pieTestListPart : list of the test for pie graph
@@ -581,10 +582,14 @@
 
 def testBranchWithPrefix( branch ){
     // get TestON branch with the prefix ( "onos-" )
-    if ( branch == "1.13" )
+    if ( branch == "1.12" )
         return "onos-1.13"
-    else if ( branch == "1.12" )
+    else if ( branch == "1.13" )
         return "onos-1.13"
+    else if ( branch == "1.14" )
+        return "onos-1.14"
+    else if ( branch == "1.15" )
+        return "onos-1.14"
     else
         return "master"
 }
diff --git a/TestON/JenkinsFile/dependencies/JenkinsTestONTests.groovy b/TestON/JenkinsFile/dependencies/JenkinsTestONTests.groovy
index eaadd7e..1f9df18 100644
--- a/TestON/JenkinsFile/dependencies/JenkinsTestONTests.groovy
+++ b/TestON/JenkinsFile/dependencies/JenkinsTestONTests.groovy
@@ -26,7 +26,7 @@
 
 def getAllTheTests( wikiPrefix ){
     // This contains the dictionary of the test and the category of them
-    // wikiPrefix : master, 1.13, 1.12 ...
+    // wikiPrefix : master, 1.15, 1.14 ...
 
     // category: it will be used to distinguish which category to be run on which days ( basic,extra_A, extra_B ... )
     // day: it will be used to display the schedule of the test to be run to the slack. It is empty in the first place but will be
